quinta-feira, 13 de setembro de 2012

Shell script Parte 2: Laços e tomada de decisões

 
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.




Comando elif

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.

#!/bin/bash

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.




Laço while

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