Introdução
O objetivo deste artigo é explicar como se faz utilização das estruturas de tomada de decisão e laços condionais em shell script.(Para entender melhor o conteúdo deste post recomendo ler o post parte I)
Comando if
O comando
if é um comando para tomada de decisão. O mesmo realiza um
determinada ação quando um requisito é atendido.
Sintaxe:
if [ condição ]; then
acao
fi
Onde:
- condicao - Condição para continuar no laço
- acao - Comandos ou comportamento que será executado dentro do laço.
Será
criado um exemplo no qual o usuario digitará um valor na tela e só
sera exibida uma mensagem na tela caso esse valor seja igual ao
numero 3.
#!/bin/bash
echo -n "Digite um
algo: "
read valor_digitado
if [ "$valor_digitado"
-eq "3" ];
then
echo Você digitou o
numero 3
fi
exit
Abaixo é possível ver o resultado da execução do shell script.
Comando if/else
O comando
if/else é um comando para tomada de decisão. O if será executando
se uma determinada ação quando um requisito é atendido caso
contratrio será utilizado o o qu estiver no bloco do comando else.
Sintaxe:
if [ condição ]; then
acao
fi
Onde:
- condicao - Condição para continuar no laço
- acao - Comandos ou comportamento que será executado dentro do laço.
Será
criado um exemplo no qual o usuario digitará um valor na tela e só
sera exibida uma mensagem na tela caso esse valor seja igual ao
numero 3.
#!/bin/bash
echo -n "Digite um
algo: "
read valor_digitado
if [ “$valor_digitado”
-eq “3” ];
then
echo “Você digitou
o numero 3”
else
echo "Você
digitou o caracter $valor_digitado";
fi
exit
Abaixo é possível ver o resultado da execução do shell script.
O comando
elif é um comando para tomada de decisão. O comando elfi depende do
camando if o mesmo funcinona de maneira similar ao else/if porém o
elfi também tem uma condição, que será executada caso um condição
seja tendida.
Sintaxe
if [ condição ]; then
acao
elif [ condicao ]; then
acao
elif [ condicao ]; then
acao
fi
Onde:
- condicao - Condição para continuar no laço
- acao - Comandos ou comportamento que será executado dentro do laço.
Será
criado um exemplo no qual o usuario digitará um valor na tela e só
sera exibida uma mensagem na tela caso esse valor seja igual ao
numero 3,4 ou 5.
echo -n "Digite um
algo: "
read valor_digitado
if [ “$valor_digitado”
-eq “3” ];
then
echo "Você
digitou o numero 3"
elif [
“$valor_digitado” -eq “4” ]; then
echo "Você
digitou o numero 4"
elif [
“$valor_digitado” -eq “5” ]; then
echo "Você
digitou o numero 5"
else
echo “Você não
digitou nenhum número aceito”
fi
Abaixo é possível ver o resultado da execução do shell script.
Comando case
O
camando case como o if é um comando para tomada de decisão.
Sintaxe:
case
variavel in
opcao1)
acao1
;;
opcao2)
acao2
;;
opacaoN)
acaoN
;;
esac
Onde:
- variavel – Variável que será verificada.
- opcao1/2/N – Possíveis estados da variavel.
- acao1/2/N – Ação a ser tomada quando a opção do mesmo for escolhida.
Será
criado um script utilizando case que exibi uma mensagem quando é
digitado a teclada 2 e outra quando é apertada a tecla 3.
#!/bin/bash
echo
"Digite 1 ou 2"
read
opcao;
case
"$opcao" in
"1")
echo
"Você digitou 1";
;;
"2")
echo
"Você digitou 2";
esac
exit
Laços
condicionais
Laço for
O laço for é uma ação
repetitivamente até que uma condição seja atendida.
Sintaxe:
for contador in
limite_contador;
do
acao
done
Onde:
- contador - Variavel que será utilizada no laço for.
- limite_contador - Limite que o contador poderá atingir. Quando o limite for atingido o laço terminará.
- ação - Comandos ou comportamento que será executado dentro do laço.
Para exempli o laço
será criado um shellscript simples que exibi na tela uma messagem 4
vezes.
#!/bin/bash
limite_contador=4
for contador in {1..4};
do
echo "Messagem
exibida $contador vez".
sleep 1;
done
Abaixo é possível ver o resultado da execução do shell script.
O while é
um tipo de laço que existe em varias linguagens de programação. O
mesmo executa uma ação enquanto um requisito não é atendido.
Sintaxe:
while [ condicao ]
do
acao
done
Onde:
- condicao - Condição para continuar no laço
- ação - Comandos ou comportamento que será executado dentro do laço.
Agora
será criado um shellscript simples que exibi na tela uma messagem 4
vezes.
#!/bin/bash
contador=1
while [ $contador -ne 4
];
do
echo "Messagem
exibida $contador vez".
sleep 1;
((contador=$contador+1))
done
Abaixo é possível ver o resultado da execução do shell script.
Nenhum comentário:
Postar um comentário