Banyak program mengembalikan nomor versinya dengan perintah seperti:
$ program --version
program (platform info) v1.2.3
Ini berguna untuk membuat skrip instalasi atau pemeliharaan program, dan beberapa keajaiban otomasi terkontrol lainnya dari Admin Sistem & teman.
Masalah
Bagaimana cara mudah mendapatkan nomor versi Erlang (OTP) ?
Di internet
Berikut adalah beberapa solusi yang tidak memuaskan ([1] dan tutorial / dokumentasi Erlang lainnya):
Emulator
$ erl
1> erlang:system_info(otp_release).
"R13B03"
Sulit untuk ditulis. Saya belum menemukan cara untuk erl
menjalankan satu perintah dari prompt shell.
File rilis
$ 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}].
Surga parsing (dengan cangkang).
Alternatifnya juga dapat memeriksa jalur pemasangan, tetapi itu tidak portabel (jalur pemasangan saya tidak menyertakan versinya, untuk satu).
Konteks pribadi: Saya menulis skrip untuk menginstal versi RabbitMQ yang sama dengan plugin di beberapa mesin. Beberapa plugin memiliki persyaratan minimal pada versi OTP, dan begitulah pertanyaan ini dimulai.