Muchos programas devuelven su número de versión con un comando como:
$ program --version
program (platform info) v1.2.3
Esto es útil para programar la instalación o el mantenimiento del programa, y alguna otra magia de automatización controlada de los administradores del sistema y amigos.
Problema
¿Cómo obtener fácilmente el número de versión de Erlang (OTP) ?
En la red
Aquí hay algunas soluciones insatisfactorias ([1] y otros tutoriales / documentación de Erlang):
Emulador
$ erl
1> erlang:system_info(otp_release).
"R13B03"
Difícil de escribir. No he encontrado una manera de erl
ejecutar un solo comando desde un indicador de shell.
Archivo de lanzamiento
$ 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}].
Analizando el paraíso (con concha).
Una alternativa también podría ser verificar la ruta de instalación, pero eso no es portátil (mi ruta de instalación no incluye la versión, por ejemplo).
Contexto personal: estoy escribiendo un script para instalar la misma versión de RabbitMQ con complementos en varias máquinas. Algunos complementos tienen requisitos mínimos en la versión OTP, y así es como comenzó esta pregunta.