Introdução ao Shell Script - Baseado no livro de Ken O. Burtch
Esse artigo foi elaborado tendo como base, o livro "Scripts de Shell Linux com Bash" de Ken O. Burtch. Abordando os tópicos essenciais para começar a criar scripts. Ensinando os conceitos básicos para criação de laço de repetição, estruturas condicionais, funções, operações aritméticas, scripts bem comportados, entre outras.
Parte 4: Comando if e test / Laço for
Comando if
O comando interno if, executa o comando e verifica os resultados. Se o comando teve sucesso, ele executa outro conjunto de comandos. O único comando normalmente usado com if test.Estrutura básica:
if [ parâmetros ]; then
declarações a executar
elif [ parâmetros ]; then
declarações a executar
else
declarações a executar
fi
declarações a executar
elif [ parâmetros ]; then
declarações a executar
else
declarações a executar
fi
Obs.: o comando test, foi substituído pelo colchete.
Comparar par de Strings:
- s1 == s2 → verdadeiro se a string s1 for igual a s2
- s1 != s2 → verdadeiro se a string s1 não for igual a s2
- s1 < s2 → verdadeiro se a string s1 for menor que a s2
- s1 > s2 → verdadeiro se a string s1 for maior que s2
Comparar inteiro
Apesar do livro não falar sobre comparação de inteiros, achei interessante colocar aqui.- -lt → (less than), menor que, equivalente ao <.
- -gt → (greather than), maior que, equivalente ao >.
- -le → (less or equal), menor ou igual, equivalente ao <=.
- -ge → (greater or equal), maior ou igual, equivalente ao >=.
- -eq → (equal), igual, equivale ao =.
- -ne → (not equal) diferente. Equivale ao != que usamos a pouco.
Comando test
Para representar a condição and é && para representar "ou" é || e a negação é representado pela exclamação !.Exemplo:
#!/bin/bash
A=5
B=15
if [ $A == 5 ] && [ $B == 15 ]; then
echo "Verdadeiro"
else
echo "Falso"
fi
A=5
B=15
if [ $A == 5 ] && [ $B == 15 ]; then
echo "Verdadeiro"
else
echo "Falso"
fi
Laço for
O laço for, como encontrado em outras linguagens de programação, é criado usando um let aninhado (assim como o test utiliza colchetes, pode-se representar o let com dois parênteses. Exemplo: ((Variáveis)))Exemplo:
#!/bin/bash
#Conta de 1 até 9
for((CONTATODOR=1 ; CONTADOR<10 ; CONTADOR++)) ; do
printf "\n O contador vale agora %d \t" "$CONTADOR"
done
exit 0
#Conta de 1 até 9
for((CONTATODOR=1 ; CONTADOR<10 ; CONTADOR++)) ; do
printf "\n O contador vale agora %d \t" "$CONTADOR"
done
exit 0
Excelente trabalho!