Compare Preços no Buscape e no BondFaro
BuscaPé, líder em comparação de preços na América Latina

HP AMD Turion 64 X2 1.9 GHz
2 Gb RAM - 160 Gb HD

George e o Segredo do Universo
Stephen Hawking, Lucy Hawking

Sony Cyber-shot S730
7.2 Megapixels

DVD Snoopy
Volte Para Casa

Pen Drive
4 GB

Pinguim de Pelúcia

Patinho Faminto
www.patinho.net

Apostilas
Expr Regular
Remasterização
SED
Shell Script

Distros
Dizinha
Patinho Faminto

Nerd
Desejo Nerd
Shell Scripts

Artístico
Livro
Musica
Poesias
Tirinhas

Bobagens
Ascii Art
Games Antigos
Porque Amar Nerds
Porque Não Amar Nerds

Eu
About Me
Recomendo
Contato
DOAÇÕES

Amigos
Aurélio
Jogos Antigos
NeoDizinha
Nerds Nervosos
ProibidoParaNormais


* = Recentemente Atualizado



website stats
Locations of visitors to this page

Anúncio provido pelo BuscaPé
BuscaPé, líder em comparação de preços na América Latina

Ver Indice Geral da Apostila de Shell Script

O Else e o Elif

O ELSE e o ELIF são complementos para o IF.
ELSE pode ser traduzido por "SENÃO".
Exemplo:
SE chover fico em casa, SENÃO vou a praia
ELIF é abreviação para ELSE IF, que pode ser traduzido por "SENÃO SE"
Exemplo:
SE chover fico em casa, SE NÃO chover e SE fizer calor, vou a sorveteria

Um código como Exemplo para ELSE:

exemplo_else.sh

lado="6"
if [ $lado -gt "7" ]
then
	echo "Lado é Maior que Sete"
else
	echo "Lado é Menor ou Igual a Sete"
fi

Mostrará na tela
Lado é Menor ou Igual a Sete

 
 

Um código como Exemplo para ELIF:

exemplo_elif.sh

lado="6"
if [ $lado -gt "7" ]
then
	echo "Lado é Maior que Sete"
elif [ $lado -lt "7" ]
then
	echo "Lado é Menor que Sete"
else
	echo "Lado é Igual a Sete"
fi
Mostrará na tela
Lado é Menor que Sete


Atenção! Repare que após definir a condição para ELIF deve-se usar o termo THEN. Mas ao usar o ELSE, o termo THEN não é utilizado

 
 

Não Confunda Alhos com Bugalhos!

Você deve estar se perguntando qual a utilidade do ELIF, já que você poderia criar mais uma condição IF e ter o mesmo resultado.
Pensando um pouco você percebe que o ELIF torna o script mais curto, mesmo que o script funcione igualmente pras duas formas.
Mas em alguns casos o ELIF é muito importante, e simplificará muito mais seu script.
Vou postar 2 scripts, o Primeiro faz a mesma coisa que o anterior, mas usando 3 IFs e o outro mostra muito mais a importância do ELIF

3ifs.sh

lado="6"
	if [ $lado -gt "7" ]
	then
		echo "Lado é Maior que Sete"
	fi

	if [ $lado -lt "7" ]
	then
		echo "Lado é Menor que Sete"
	fi
	
	if [ $lado -eq "7" ]
	then
		echo "Lado é Igual a Sete"
	fi
Mostrará na tela
Lado é Menor que Sete

O script ficou um pouco maior, mas ainda mostra o resultado corretamente.

 
 

Agora veja esse script:

if_com_defeito.sh

x="3"
	if [ $x -le "3" ]
	then
		echo "X é menor ou igual a 3"
	fi

	if [ $x -le "7" ]
	then
		echo "X é maior que 3 e menor ou igual a 7"
	else
		echo "X é maior que 7"
	fi
Mostrará na tela
X é menor ou igual a 3
X é maior que 3 e menor ou igual a 7

Você pode ver que uma das afirmações não é verdadeira. X não é maior que 3, como informou o script

 
 

Por que isso acontece?
Porque o ELIF só é executado quando nenhuma condição IF anterior tiver sido satisfeita.
Vou mostrar como seria a maneira de se utilizar 2 IFs nesse caso, só para ver como é muito mais complicado.

if_corrigido.sh

x="3"
	if [ $x -le "3" ]
	then
		echo "X é menor ou igual a 3"
	fi

	if [[ $x -gt "3" && $x -le "7" ]]
	then
		echo "X é maior que 3 e menor ou igual a 7"
	fi
	
	if [[ $x -gt "7" ]]
	then
		echo "X é maior que 7"
	fi

 
 

Atenção!Quando se usa o "ELIF" e o "ELSE" dentro do "IF",
as condições sempre são executadas na sequência em que aparecem.
Assim que uma condição é satisfeita, o script, executa a ação correspondente a essa condição e em seguida pára de verificar as condições.
Nesse caso, mesmo que MAIS de uma condição seja verdadeira ela não será executada.
Veja só:

exemplo_if.sh

x="3"
	if [ $x -le "8" ]
	then
		echo "X é menor ou igual a 3"
	elif [ $x -le "10" ]
	then
		echo "X é menor ou igual a 10"
	elif [ $x -le "20" ]
	then
		echo "X é menor ou igual a 20"
	fi
Mostrará na tela
X é menor ou igual a 3

Isso acontece porque o script verifica se a condição IF é verdadeira.
Como ela é verdadeira, o script executa a ação dentro do IF e pára de verificar as outras condições

 
 

Nota: 9

Votar:
Postado em: 2008-03-09

Ver Indice Geral da Apostila de Shell Script

Doações
Se quer nos ajudar, pode doar pelo PagSeguro

Ou pode doar pelo Paypal clicando no botão DONATE

Compare Produtos, Lojas e Preços


As poesias devem virar um livro impresso?
Claro
Só se tiver menos de 60 páginas
Só se tiver entre 60 e 120 páginas
Só se tiver mais que 120 páginas
Só vou comprar se for barato
Só vou comprar para você ficar feliz
Livro? Que Livro? Que poesia?
Resultado