Como pegar informações da distro via um shell script?

1. Como pegar informações da distro via um shell script?

Wallacy Vieira da Silva
wlcsv

(usa Ubuntu)

Enviado em 28/08/2022 - 16:18h

Então galera eu tô programando um script em shell pra automatizar a instalação de programas, porque eu sempre tô trocando de distro e cansei de ter que instalar tudo na mão sempre, mas eu tô com um problema, meu objetivo é fazer um script que possa rodar em diferentes tipos de distros, tipo se a distro é baseada em debian eu rodo um determinado conjunto de funções, se ela é baseada em arch já é outro conjunto de funções, mas eu não sei como fazer, na real que eu até sei pegar as informações sobre a distro rodando um cat /etc/os-release, mas eu não sei como pegar o retorno de um comando dentro de um shell script e não sei como extrair as informações que eu quero de dentro desse retorno.

Desde já eu agradeço a todo mundo que responder e perdão se eu falar algo errado, ainda não tenho muito conhecimento sobre Linux.


  


2. Re: Como pegar informações da distro via um shell script?

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/08/2022 - 19:53h

É só você fazer um source do arquivo `/etc/os-release' e usar as variáveis...

. /etc/os-release

case $ID in
arch|manjaro)
:
;;
debian|ubuntu|mint)
:
;;
fedora)
:
;;
linux)
:
;;
esac



3. Re: Como pegar informações da distro via um shell script?

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 28/08/2022 - 21:17h


Vc tem de ver se todas as distros usam /etc/os-release(com esse nome). Talvez seja mais prático usar comandos


4. Re: Como pegar informações da distro via um shell script?

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/08/2022 - 22:46h

Todas as distros que usam Systemd usam o /etc/os-release, se for genérica ou se não tiver sido configurada, fica como ID=linux.

http://0pointer.de/blog/projects/os-release


5. Re: Como pegar informações da distro via um shell script?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/08/2022 - 00:21h


wlcsv escreveu:

Então galera eu tô programando um script em shell pra automatizar a instalação de programas, porque eu sempre tô trocando de distro e cansei de ter que instalar tudo na mão sempre, mas eu tô com um problema, meu objetivo é fazer um script que possa rodar em diferentes tipos de distros, tipo se a distro é baseada em debian eu rodo um determinado conjunto de funções, se ela é baseada em arch já é outro conjunto de funções, mas eu não sei como fazer, na real que eu até sei pegar as informações sobre a distro rodando um cat /etc/os-release, mas eu não sei como pegar o retorno de um comando dentro de um shell script e não sei como extrair as informações que eu quero de dentro desse retorno.

Desde já eu agradeço a todo mundo que responder e perdão se eu falar algo errado, ainda não tenho muito conhecimento sobre Linux.

Boa noite, seguem sugestões:
lsb_release -d
lsb_release -i
uname -n
cat /etc/issues
ID=$(grep '^ID' /etc/os-release) 

Para gerar uma variável com a saída do comando, faça como foi feito acima:
VAR=$(COMANDO)
DIST=$(awk 'NR==1{print $1}' /etc/issue) 

Com a var obtida, execute o case,
como ja foi mostrado...

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts