หลายโปรแกรมส่งคืนหมายเลขเวอร์ชันด้วยคำสั่งเช่น:
$ program --version
program (platform info) v1.2.3
สิ่งนี้มีประโยชน์สำหรับการเขียนสคริปต์การติดตั้งหรือการบำรุงรักษาโปรแกรมและเวทมนตร์อัตโนมัติที่ควบคุมอื่น ๆ จากผู้ดูแลระบบและเพื่อน ๆ
ปัญหา
จะรับหมายเลขเวอร์ชันสำหรับ Erlang (OTP) ได้อย่างไร?
บนเน็ต
ต่อไปนี้เป็นวิธีแก้ปัญหาที่ไม่น่าพอใจ ([1] และบทช่วยสอนอื่น ๆ / เอกสาร 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 และคำถามนี้เริ่มต้นได้อย่างไร