Shell Script

Muitas vezes é necessário fazer um mesmo comando ou um conjunto de comandos para um determinado fim no terminal Linux. Com o passar do tempo isso pode se tornar cansativo e até estressante. Para contornar isso e minimizar ações repetitivas podemos utilizar o Shell Script.

Basicamente, um Shell Scritp é uma sequência de comandos do próprio Linux que são executados em uma determinada sequência para um determinado fim.

Para criar um shell script é necessário seguir os seguintes passos:

1. Abra o terminal e crie um arquivo que possa ser editado. Para isso digite “touch nome_do_arquivo.sh”“Touch” é um comando para criar um arquivo vazio;

2. Forneça direito de execução para o arquivo criado. Para isso digite “chmod +x nome_do_arquivo.sh”. Se você executar o comando de listagem de arquivos (ls) no diretório onde o arquivo foi criado, o nome do arquivo aparecerá na cor verde;

3. Abra o arquivo para edição (aperte a tecla “i” ou “INSERT”). Usarei o programa “vim” para editar o arquivo. Digite “vim nome_do_arquivo.sh”.

Na primeira linha do arquivo digite “#!/bin/bash”. Essa linha escrita do shell script é utilizada para informar qual modelo de shell será utilizado para criar o shell script (ksh, sh, bash). Neste exemplo o shell responsável será o bash que está localizado na pasta /bin. Após a linha que contém o código referente ao tipo de shell é possível inserir os comandos desejados;

4. No exemplo a seguir será criado um shell que fará com que a baia do leitor de CD/DVD se abra. Após 3 segundos a mesma se fechará:

#!/bin/bash  //modelo de shell usado para criar o shell script - bash
echo "Abrindo gaveta do CD/DVD..."  //echo exibe uma mensagem na tela
eject  //eject abre a gaveta do CD/DVD
sleep 1  //sleep pausa o terminal por 1 segundo
echo "Fechando a gaveta do CD/DVD..."
sleep 1
eject -t  //eject -t fecha a gaveta do CD/DVD

5. Pressione a tecla “ESC” e salve o arquivo (pressione as teclas SHIFT + : e tecle “w”);

6. Execute o shell. Para isso informe o caminho absoluto do arquivo “/home/usuario/nome_do_arquivo.sh”;

Obs.: Para fazer comentários nos códigos do shell basta inserir o caractere cerquilha “#”.

É possível utilizar variáveis em shell scripts, como se faz em qualquer linguagem de programação. A sintaxe é “nome_da_variável = valor_da_variável”. Para mostrar o valor dessas variáveis basta escrever “$nome_da_variável”:

planeta = JUPITER
echo = "O planeta escolhido é $planeta"
exit

Além de variáveis podemos utilizar saída de comandos como valor de variável:

total_linhas = $(ls | wc -l)

Capturar valores do teclado:

echo "Qual é o planeta?"  
read planeta 
echo "O planeta é $planeta"

Inserir comandos IF/ELSE:

echo -n "Digite um numero: "
read valor

if [ "$valor" -eq "5" ];
   then
    echo "O valor digitado foi 5"
   else
   echo "Você digitou o valor $valor";

Inserir comando CASE:

echo "Digite um numero: "
   read valor
   case "$valor" in
   "1")
      echo "Você digitou 1";
   ;;
   "2")
      echo "Você digitou 2";
   esac
   exit

Laços condicionais:

limite=5

   for contador in {1..5};
   do
     echo "Mensagem exibida $contador vez".
     sleep 1; 
   done
     
     c = 5
     while [ $c -ne 5 ];
     do
       echo "Messagem exibida $c vez".
       ((c=$c+1))
     done 

Também funções:

tabuada5() { 
   for i in {1..10}; 
   do 
     echo "$iX5="$i*5 
     done
   }

   principal()
   {
     tabuada5
   }
APRENDA A SOLUCIONAR PROBLEMAS COM GNU/LINUX COM MAIS RAPIDEZ

Domine todos os recursos do Linux e torne-se um administrador competente e bem requisitado. Conheça o curso LINUX: DICAS E TRUQUES e torne-se um expert! Conheça centenas de soluções para problemas do dia a dia de administradores de sistemas GNU/Linux e usuários em geral.

CLIQUE NA IMAGEM ABAIXO PARA MAIS DETALHES:

linux dicas e truques

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags: |

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *