sexta-feira, 7 de maio de 2021

Automatizando tarefas com Shell Script

Shell script é o nome dado a um arquivo que será interpretado por algum programa tipo Shell. Atualmente existem vários programas tipo Shell. Além dos principais - sh e bash -, existem também, kshzshcsh e tcsh. Um Shell script (ou script em Shell) necessita basicamente do interpretador Shell.

Algumas operações típicas executadas por linguagens de script em Shell incluem; manipulação de arquivos, execução de programas e impressão de texto. Sendo assim é muito comum que scripts sejam utilizados para automatização de tarefas - como configurar o ambiente, executar um programa e fazer qualquer limpeza, registro, etc. 


A ideia deste post é fazer um apanhado geral para criação de scripts.


Nome dos arquivos

Apesar do Linux não exigir que você coloque extensão nos arquivos, é comum utilizar a extensão .sh o que visualmente facilita o reconhecimento de um script. Exemplo: script_x.sh


Estrutura de um script

#!/bin/bash 

# ou #!/bin/sh (dependendo do shell que você estiver utilizando). 

# Todo script deve começar com a linha acima (# é usada para definir comentários)

cd /

ls -l

#Para definir uma variável, basta usar o sinal de igual "=" e

#para ver seu valor, usa-se o "echo":

#Não podem haver espaços ao redor do igual "=" no valores das variáveis

NOME_VARIAVEL=Hugo

echo $NOME_VARIAVEL

#Repare que para exibir o conteúdo da variável foi utilizado o caractere $

#Ainda é possível armazenar a saída de um comando dentro de uma variável. Ao invés #de aspas, o comando deve ser colocado com o caractere "$()", vejam:

HOJE=$(date)

echo $HOJE

#O comando read é para ler informações digitadas pelo usuário e criar variáveis

#O parâmetro –n é apenas para ficar na mesma linha

echo -n "Digite um número:"

read NUMERO1

echo -n "Digite outro número:"

read NUMERO2

# A construção usada para indicar uma expressão aritmética é

# "$((...))", com dois parênteses.

echo "A soma entre os dois número é" $((NUMERO1 + NUMERO2))

#Os scripts que usam estruturas condicionais possibilitam criar duas ou mais #respostas para a condição exposta. Assim como qualquer outra linguagem de #programação, o shell também tem estruturas de condição e repetição. As mais usadas #são if, for e while.

#estruturas de condição

IDADE=18

if [ IDADE -eq 18 ] then

    echo "É maior de idade"

else

    echo "É menor de idade"

fi


#Operadores aritméticos + - * / % **

#Operadores relacionais -eq(igual) -ne(diferente) -lt(menor) -le(menor ou igual) 

# -gt(maior) -ge(maior ou igual)

#Operadores lógicos || &&

#teste em arquivos


if [ -f /tmp/teste.txt ] then

    echo "arquivo existe"

else

   echo  "arquivo inexistente"

fi

#CASE

echo "Digite 1 ou 2"

read opcao

case $opcao in

"1") echo "você digitou 1";;

"2") echo "você digitou 2;;

  *) echo "opção inválida";;

esac

exit

#estrutura de repetição

#while

i=1

while [$i -le 100]

do

 echo $i

i=$(($i+1))

done


#for

for passo in $(seq 10)

do

  echo passo

done


#FUNÇÕES

IDADE=18

CALCULARIDADE()

{

  if [ $IDADE -eq 18 ] then

        echo "Maior de 18"

}

CALCULARIDADE


#funcoes podem receber parâmetros

echo "Nome do script: $0"

echo "Número total de parâmetros: $#"

echo "Primeiro parâmetro: $1"

echo "Segundo parâmetro: $2"

echo "Décimo quinto parâmetro: ${15}"

echo "Todos os parâmetros: $*”



Passos a serem realizados para execução de um script

  1. Criar um arquivo com a extensão .sh
  2. Iniciar com a tag e o Shell a ser utilizado.
  3. Digitar os comandos do script e salvar o arquivo
  4. Dar permissão de execução para o script
  5. executar o script com "./"

Bom é isso aí! Até a próxima.

Nenhum comentário: