Muitos programas retornam seu número de versão com um comando como:
$ program --version
program (platform info) v1.2.3
Isso é útil para criar scripts de instalação ou manutenção do programa e alguma outra mágica de automação controlada de Administradores de sistema e amigos.
Problema
Como obter facilmente o número da versão do Erlang (OTP) ?
Na rede
Aqui estão algumas soluções insatisfatórias ([1] e outros tutoriais / documentação Erlang):
Emulador
$ erl
1> erlang:system_info(otp_release).
"R13B03"
Difícil de escrever. Não encontrei uma maneira de erl
executar um único comando em um prompt de shell.
Arquivo de lançamento
$ 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}].
Analisando o paraíso (com casca).
Uma alternativa também poderia ser verificar o caminho de instalação, mas isso não é portátil (meu caminho de instalação não inclui a versão, por exemplo).
Contexto pessoal: Estou escrevendo um script para instalar a mesma versão do RabbitMQ com plug-ins em várias máquinas. Alguns plug-ins têm requisitos mínimos na versão OTP, e foi assim que esta questão começou.