mdunguel
(usa Debian)
Enviado em 29/08/2020 - 07:48h
Bom dia a todos.
Estou começando a aprender shell script.
Estou querendo criar uma rotina/função que descubra automaticamente qual distribuição linux está instalada.
O que eu já fiz:
1 #!/usr/bin/env bash
2
3 ###########################################################
4 ########## Função_DescobreDistribuiçãoLinux.bash ##########
5 ###########################################################
6
7 function DescobreDistribuicaoLinux {
8
9 descobredistribuicao=$(grep -o -a -m 1 -h "CentOS" teste.txt | cut -d':' -f2)
10 separei=$(echo $descobredistribuicao | cut -d' ' -f1)
11
12 }
13
14 cat /etc/*-release > teste.txt
15
16 DescobreDistribuicaoLinux
17
18 case "$separei" in
19 Ubuntu) echo "Sua distribuição é um Ubuntu"
20 ;;
21 CentOS) echo "Sua distribuição é um CentOS"
22 ;;
23 RedHat) echo "Sua distribuição é um Redhat"
24 ;;
25 Debian) echo "Sua distribuição é um Debian"
26 ;;
27 Fedora) echo "Sua distribuição é um Fedora"
28 ;;
29 *) echo "Não identifiquei qual é a sua distribuição"
30 ;;
31 esac
32
33 echo ""
34 echo ""
35
36 cat teste.txt
Como vocês podem ver, na linha 9, eu mando procurar o nome da distro dentro do arquivo teste.txt, faço um cut e este valor é atribuído a
"descobredistribuicao".
Na linha 10 eu faço um echo em "descobredistribuicao" e novamente um cut, atribuindo a variável
"separei".
Mas todo esse procedimento eu tenho que realizar manualmente, ou seja, eu tenho que definir na linha 9 dentro do grep, a distro que eu quero.
Como posso fazer isso de forma automática?
Qual estrutura de teste e repetição devo utilizar?