[解決済み] シェルからErlangのリリースバージョン番号を取得する方法は?
2022-08-22 19:57:35
質問
多くのプログラムは、次のようなコマンドでそのバージョン番号を返します。
$ program --version
program (platform info) v1.2.3
これはプログラムのインストールやメンテナンスをスクリプト化するのに便利で、システム管理者や友人による他の制御された自動化の魔法もあります。
問題点
Erlangのバージョン番号を簡単に取得する方法 (OTP) ?
ネット上では
不満足な解決策を紹介します。 trapexit フォーラム や他のチュートリアル/Erlangのドキュメントから)。
エミュレータ
$ erl
1> erlang:system_info(otp_release).
"R13B03"
スクリプトが難しい 私は
erl
がシェルプロンプトから単一のコマンドを実行する方法は見つかっていません。
ファイルを解放する
$ cat /usr/lib/erlang/releases/RELEASES
[{release,"OTP APN 181 01","R13B03","5.7.4",
[{kernel,"2.13.4","/usr/lib/erlang/lib/kernel-2.13.4"},
{stdlib,"1.16.4","/usr/lib/erlang/lib/stdlib-1.16.4"},
{sasl,"2.1.8","/usr/lib/erlang/lib/sasl-2.1.8"}],
permanent}].
パースパラダイス(シェル付き)。
代替案として、インストールパスをチェックすることもできますが、これは移植性がありません(私のインストールパスにはバージョンが含まれていません、ひとつは)。
個人的なコンテキストです。私は、複数のマシンにプラグインを含む RabbitMQ の同じバージョンをインストールするスクリプトを書いています。いくつかのプラグインは OTP バージョンに最小限の要件を持ち、それはこの質問がどのように始まったかです。
どのように解決するのですか?
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
関連
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] テキストファイルから、特定の文字列を含むすべての行を削除するにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] シェルコマンドを実行しながらエコーする方法
-
[解決済み] .bashrc、.bash_profile、.environmentの違いは何ですか?
-
[解決済み] フィッシュシェルで環境変数を設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン