Existe uma variável de ambiente que forneça a versão do Ubuntu e a versão do kernel?

0

Existe uma variável de ambiente que forneça a versão do Ubuntu e outra que forneça a versão do kernel?

Eu estou supondo que a resposta é não como printenv | grep 14.04 não deu nada, mas eu pensei que iria perguntar de qualquer maneira, pois me salvaria de ter que declará-lo, executando um comando extra em um script.

    
por Ulukai 17.10.2015 / 12:04

2 respostas

0

Gostei de todas as respostas fornecidas, pois todas confirmaram o que eu suspeitava, mas acho que fazer o seguinte seria melhor para o que estou procurando:

Existe um arquivo no Ubuntu: /etc/lsb-release

Acabei de descobrir isso agora, observando os scripts em /etc/update-motd.d em particular /etc/update-motd.d/00-header

Este arquivo, embora não seja executável, contém variáveis com informações sobre a versão do Ubuntu que são executadas enquanto as mensagens são passadas, fazendo o seguinte:

[ -r /etc/lsb-release ] && . /etc/lsb-release

Significado basicamente, pelo que entendi, se esse arquivo existe e é legível executá-lo com bash.

Assim, pelo menos dentro do ambiente Ubuntu, se eu incluir essa linha no meu script ou apenas o . /etc/lsb-release , isso me fornecerá todas as variáveis que preciso sem precisar recorrer a nenhum comando.

    
por Ulukai 17.10.2015 / 16:55
7

Não. Você tem que usar os comandos lsb_release e uname , respectivamente, para obter as versões do Ubuntu e do kernel.

$ lsb_release -sr
14.04
$ lsb_release -sc
trusty
$ uname -r
3.13.0-65-generic

Como alternativa, você pode analisar alguns arquivos, mas, a menos que tenha uma strong razão para isso, use melhor esses comandos.

    
por muru 17.10.2015 / 12:08