Instruções if, elif e else

Iniciado por Cloudy, 11 de Março , 2006, 01:18:38 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Cloudy

Bem, apartir de agora vou ver se posto algumas funções de Shell Script, como: IF, WHILE, etc...

Vou começar com o IF, que é bastante usado.

IF é usado para desvios, fazcom que uma deterinada condição execute determinado passo dentro da instrução. Ele funciona como "SE", vou explicar melhor mais na frente.

Sintaxe:
if [ condição1 ] ; then
     comandos
elif [ condição2 ] ; then
     comandos
elif [ condição3 ] ; then
     comandos
else
     comandos
fi

Exeplo comentado:
X=10

if [ $X < 5 ] ; then # Se variável X menor que 5, faça
     echo "$X é menor que 5"
elif [ $X > 5 ] ; then # Se variável X maior que 5, faça
     echo "$X é maior que 5"
elif [ $X = 5 ] ; then # Se a váriavel X igual a 5, faça
     echo "$X é igual a 5"
else # Caso contrário...
     echo "$X é igual a 0"
fi

Agora, um exexplo de Script completo, e comentado:
#!/bin/bash # Onde o script vai rodar
# Exeplo de intrução IF
echo "Script by Cloudy para estudo de Shell Script - Função IF" # Exibe a frase entre ""
echo "Digite um número de 0 a 10:" # Exibe a frase entre ""
read num # Pega a resposta do user e salva na variavel "num"
if [ $num < 5 ] ; then # Caso a variavel "num" seja menor que 5, faça
     echo "Vc digitou o número $num, que é menor que 5" # Exibe a frase entre ""
elif [ $num > 5 ] ; then # Caso a variavel "num" seja maior que 5, faça
     echo "Vc digitou o número $num, que é maior que 5" # Exibe a frase entre ""
else # Caso contrário...
     echo "Vc não digitou um número válido" # Exibe a frase entre ""
fi

Obs: Tudo que está depois das talhas (#) são comentários, ok?

E outra coisa, eu não sei se foi útil o que postei, se foi, petendo continuar, e postar sobre Case, For, While, Until, etc, mas se não foi bom, paro por aqui, eu sei que é básicão, mas se ajudar alguém eu continuo.

...by Cloudy
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

Cloudy

Vlw quak. Eu entendi quando vc disse que Sh faz milagres, e é verdade.

Então OK, logo logo posto mais um pouco.

...by Cloudy
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

slul

Citação de: "Cloudy"Vlw quak. Eu entendi quando vc disse que Sh faz milagres, e é verdade.

Então OK, logo logo posto mais um pouco.

...by Cloudy

Quanto a milagres não sei  ;)

Ei mods um ponto aki né  ;D