Así que estoy tratando de crear un bash / ejecutable, y necesito saber el número de versión de Ubuntu en el sistema. Todas las formas en que he encontrado en línea consisten lsb_release -r
, sin embargo, no puedo mostrar esto en una variable.
¿Hay alguna forma de obtener la versión actual de Ubuntu y guardarla como una variable en un ejecutable de shell?
command-line
bash
scripts
a.mosallaei
fuente
fuente
Respuestas:
Debería hacer el truco.
Para la porción numérica solo agregue esto:
El
lsb-release
archivo de variables/usr/bin/lsb_release
es un script de Python Es un script corto que sirve como una buena introducción al lenguaje python. Como otros mencionaron, una forma más corta de obtener solo el número de versión es conlsb_release -sr
.El
/etc/lsb-release
archivo define variables ambientales con la misma información provista por ellsb_release -a
comando:Puede incluir estas variables de entorno en cualquier momento utilizando
. /etc/lsb-release
. Para probar en su terminal:fuente
Release: 18.04
. Sin embargo, ¿hay alguna manera de obtener el número? Quiero poder usar esta variable en una función if / else en el script. El propósito de if / else es descargar la versión correcta de mi aplicación para la distribución de ubuntu.Una alternativa es usar el
/etc/os-release
archivo en su lugar. Esto está formateado como una lista de variables de shell:Entonces, una manera fácil de analizarlo es simplemente
source
el archivo:Para evitar establecer todas estas variables innecesariamente, puede obtener el archivo en una subshell , repetir la variable que necesita y salir de la subshell:
Alternativamente, siempre puede analizar el archivo directamente:
fuente
El
lsb_release
comando admite una opción-s
(o--short
) para imprimir solo la información que solicita y no el encabezado que dice qué tipo de información es.Para obtener solo el número de versión, es suficiente ejecutar:
Por ejemplo, en Ubuntu 18.04 LTS, eso genera:
Al igual que con el método en la respuesta de WinEunuuchs2Unix , todavía es razonable usar la sustitución de comandos para asignar esta salida a una variable de shell. Supongamos que desea que la
ver
variable contenga el número de versión:Con
-s
, no hay necesidad de analizar el número concut
,sed
,grep
,awk
, formas más complejas de la expansión de parámetros , o similares.En este uso, las
"
"
comillas son opcionales, pero generalmente sugiero citar la expansión de parámetros y otras expansiones de shell, excepto cuando hay una razón para no hacerlo.fuente
lsb_release
Comandos cortos y simples .Para imprimir solo la versión
Salida:
Imprimir descripción
Salida:
Sobre las banderas utilizadas aquí:
fuente