Tópico 103 - Comandos
GNU/Linux e Unix
Peso total: 26
Tópico 105 - Shells, scripts e administração de dados
Objetivo 105.2 - Editar e escrever scripts
Peso: 4
Criar um pequeno aplicativo em Shell Script para inspecionar o Hardware retornando informações, tais como: uso do disco, memória RAM, tipo de processador, arquitetura e o nome do sistema operacional.
Resolução
O código abaixo, atende suficientemente para a resolução deste exercício:
#!/bin/bash
#Iniciando o menu das opções
#Esta variável permite dar início a estrutura while, onde é feito um primeiro teste
#e caso satisfaça a condição, o laço é iniciado até o mesmo ser encerrado
#quando o usuário digitar: nao
escolha="sim"
#Enquanto a variável escolha for diferente de nao, o laço será executado
while [ $escolha != "nao" ]
do
#Comando para limpar a tela
clear
echo "_______________________________"
echo
echo " ESCOLHA UMA DAS OPÇÕES ABAIXO"
echo "_______________________________"
echo
echo "( 1 ) Processador"
echo "( 2 ) Memória RAM"
echo "( 3 ) Uso do HD"
echo "( 4 ) Sistema Operacional"
echo "( 5 ) Arquitetura da máquina"
echo
read opcao
#Estrutura de seleção para executar os comandos mediante a escolha feita pelo usuário
case $opcao in
#O comando cat lê as informações sobre o processador no arquivo /proc/cpuinfo
#Com o redirecionador | (pipe), será filtrado, com o comando grep a opção model name
#já que o comando anterior informa muita coisa.
#Novamente utilizo mais um pipe para eliminar linhas repetidas com o comando uniq e
#com o cut, corto apenas as informações que preciso iniciando do caractere 13
#ao 60. Você pode ajustar a sua maneira
1) cat /proc/cpuinfo | grep "model name" | uniq | cut -c13-60 ;;
#Comando para informar a quantidade de memória RAM e SWAP. Com a opção -h
#as informações são retornadas em um formato mais legível ao ser humano
2) free -h ;;
#Informa o espaço em disco utilizado e com as opções -hT informa o tipo do arquivo -T
# -h é semelhante a explicada no comando anterior
3) df -hT ;;
#O primeiro comando mostra o nome do sistema operacional. Com o ; é possível executar
#um ou mais comandos seguidos. O segundo comando informa o nome da distribuição
4) uname -o ; lsb_release -d | cut -c14-60;;
#Informa a arquitetura do processador se é 32 bits (i386) ou 64 bits (X86_64)
5) uname -p ;;
*) echo "Opção inválida"
esac
#Aqui vai o teste para saber se o aplicativo será executado novamente
echo "Continuar executando o aplicativo? (sim ou nao)"
read escolha
done
* Vale lembrar que o caractere
#, significa que é um comentário.
O código tem que ser salvo com a extensão
.sh e dado permissão de execução ao mesmo com o comando:
chmod +x programa.sh
Em caso de dúvidas, é só postar nos comentários.
Bons estudos!
Nenhum comentário foi encontrado.