Birçok program sürüm numaralarını aşağıdaki gibi bir komutla döndürür:
$ program --version
program (platform info) v1.2.3
Bu, programın kurulumunu veya bakımını ve Sistem Yöneticileri ve arkadaşlarından bazı diğer kontrollü otomasyon sihrini komut dosyası oluşturmak için kullanışlıdır.
Sorun
Erlang (OTP) için sürüm numarasını kolayca nasıl alabilirim ?
İnternette
İşte bazı tatmin edici olmayan çözümler ([1] ve diğer eğitimler / Erlang belgeleri):
Emülatör
$ erl
1> erlang:system_info(otp_release).
"R13B03"
Senaryosu zor. erl
Bir kabuk isteminden tek bir komutu yürütmenin bir yolunu bulamadım .
Yayın dosyası
$ 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}].
Ayrıştırma cenneti (kabuk ile).
Bir alternatif de yükleme yolunu kontrol etmek olabilir, ancak bu taşınabilir değildir (biri için yükleme yolum sürümü içermez).
Kişisel bağlam: Birkaç makineye eklentilerle aynı RabbitMQ sürümünü yüklemek için bir komut dosyası yazıyorum. Bazı eklentilerin OTP sürümüyle ilgili minimum gereksinimleri vardır ve bu soru bu şekilde başladı.