Programação em scripts de Shell

Uma das características que torna os scripts de shell tão poderosos é que sua implementação de construções de loop e execução condicional é semelhante à encontrada nos mais complexos scripts e linguagens de programação. Você pode utilizar vários tipos de loops diferentes, dependendo de suas necessidades.

As instruções “if…then” A construção de programação mais comumente usada é a execução condicional, ou a instrução if. Ela é usada para executar as seguintes ações apenas sob certas condições. Há diversas variações de if para testar vários tipos de condições.

O primeiro exemplo de if…then testa se VARIAVEL está configurada como o número 1. Se estiver, então o comando echo é usado para dizer que ela está configurada como 1. A instrução fi então indica que a instrução if está completa e que o processamento pode continuar.

VARIAVEL=1
if [ $VARIAVEL -eq 1 ] ; then
echo “A variável é 1”
fi

Shell script estrutura if
Exemplo de como testar uma variável.
Shell script estrutura if
Saída na tela

Em vez de usar –eq, é possível usar o sinal de igualdade (=), como mostrado no exemplo a seguir. O = funciona melhor para a comparação de valores de string, enquanto –eq costuma ser melhor para a comparação de números. Usando a instrução else, palavras diferentes podem ser ecoadas se o critério da instrução if não for atendido ($STRING = “sexta-feira”). Tenha em mente que é uma boa prática colocar strings entre aspas e dar espaço entre elas senão gera um erro.

STRING=”Sexta-feira”
if [ $STRING = “sexta-feira” ] ;then
echo “Hoje é dia de tomar cerveja.”
else
echo “Hoje ainda é quinta-feira a cerveja vai ficar pra amanhã…”
fi

Shell script teste de variavel
Exemplo de como testar uma variável.
Shell script teste de variável
saída do código.

Você também pode inverter os testes com um ponto de exclamação (!). No exemplo a seguir, se STRING não for segunda-feira, então “Hoje não é segunda-feira” é  impresso na tela.

STRING=”sexta-feira”
if [ “$STRING” != “segunda-feira” ] ; then
echo “Hoje não é segunda-feira”
fi

Shell script teste de inversão
Inverte o teste se for verdadeiro passa a ser falso ou vise-versa.
Shell script teste de inversão
Saída do codigo na tela.

No exemplo a seguir, elif (que significa “else if”) é usado para testar uma condição adicional (por exemplo, se  é um arquivo ou um diretório).

echo ‘Digite um nome de arquivo ou diretório para consultar’
read nome
DiretoriArquivo=$nome
if [ -f $nome ] ; then
echo ‘Este é um arquivo’
elif [ -d $nome ] ; then
echo ‘Este é um diretório’
else
echo ‘Não sei o que é isso.’
fi

Shell script estrutura elif else
código para testar se é arquivo ou diretório usando a função read.
Captura de tela de 2017-12-28 09-25-03
Saída do código na tela.

Como você pode ver nos exemplos anteriores, a condição que você está testando é colocada entre colchetes [ ]. Quando uma expressão de teste é avaliada, ela retorna um valor de 0, o que significa que é verdade, ou um 1, o que significa que ela é falsa.

Observe que as linhas de echo são recuadas. O recuo é opcional e feito apenas para facilitar a leitura do script.

By Sidney silva santos

Estudando análise e desenvolvimento de sistema e estudo linux a 3 anos essa é a minha forma de contribuir com a comunidade linux e para quem tem interesse de aprender os comandos desse sistema operacional

%d blogueiros gostam disto: