많은 프로그램이 다음과 같은 명령을 사용하여 버전 번호를 반환합니다.
$ 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 버전에 대한 최소 요구 사항이 있으며 이것이이 질문이 시작된 방법입니다.