Bom treino para iniciados em Shell

Publicado por Lucas Reis 15/08/2007 (última atualização em 20/06/2014)

[ Hits: 13.752 ]

Homepage: https://twitter.com/makumberos_face

Download Comparador.sh

Download 1403272016.Comparador.bash (versão 2)




Esse foi uma maneira de treinar Shell Script que eu arranjei. Foi o 1º Script que criei em Shell.

A idéia é boa e simples de desenvolver, considero um exercício para quem está iniciando.

O script consiste em:

- Pegar o nome e idade de 3 pessoas diferentes.
- Comparar a idade das 3 pessoas.
- Mostrar o resultado das comparações, Ex.:
    -> O zé é o mais velho e tem 16 anos.
    -> A Creuzisdéia e o Clodosvaldo são os mais novos, têm idades iguais a 10 anos.

Espero ajudar alguém com isso.

TREINO

  



Versões atualizadas deste script

Versão 2 - Enviado por Vitor Augusto M. Pio em 20/06/2014

Changelog: Versão 2.0 do treino para iniciantes.

Download 1403272016.Comparador.bash


Esconder código-fonte

#!/bin/bash
clear
echo ""
echo ""
   echo "Seja bem vindo!"
#-->Com esse comando SLEEP, dará uma pausa no Script com o tempo colocado
sleep 1
#--<
#--> Isso é para ir repetindo o Script quando ele chegar no fim
while :
do
#--<
clear
echo ""
echo ""
echo ""
echo ""
#--> Aqui vamos pegar os nomes e idades
   echo "Insira o nome A:";read NA
   echo "Insira a idade A:";read IA
echo ""
   echo "Insira o nome B:";read NB
   echo "Insira a idade B:";read IB
echo ""
   echo "Insira o nome C:";read NC
   echo "Insira a idade C:";read IC
echo ""
echo ""
echo ""
#--<
#---------------------------------------
#-->Aqui serão feitas as comparações para ver o MAIS VELHO
#----------MAIORES----------------------
#---- Se IA for maior que IB  e  IA for maior que IC, então NA é o mais velho----
if [ $IA -gt $IB ] && [ $IA -gt $IC ]
then
   echo "$NA é mais velho/a, e tem $IA anos."
else
#------- 
if [ $IB -gt $IA ] && [ $IB -gt $IC ]
then
   echo "$NB é mais velho/a, e tem $IB anos."
else
#-------
if [ $IC -gt $IA ] && [ $IC -gt $IB ]
then
   echo "$NC é mais velho/a, e tem $IC anos."
fi
fi
fi
#--<
#---------------------------------------
#----------Médios-----------------------
#---- Se IA for maior que IB e IA for menor que IC então NA é de idade média----
if [ $IA -gt $IB ] && [ $IA -lt $IC ]
then
   echo "$NA é de idade média e tem $IA anos."
else
if [ $IA -gt $IC ] && [ $IA -lt $IB ]
then
   echo "$NA é de idade média e tem $IA anos."
else
#-------
if [ $IB -gt $IA ] && [ $IB -lt $IC ]
then
   echo "$NB é de idade média e tem $IB anos."
else
if [ $IB -gt $IC ] && [ $IB -lt $IA ]
then
   echo "$NB é de idade média e tem $IB anos."
else
#-------
if [ $IC -gt $IB ] && [ $IC -lt $IA ]
then
   echo "$NC é de idade média e tem $IC anos."
else
if [ $IC -gt $IA ] && [ $IC -lt $IB ]
then
   echo "$NC é de idade média e tem $IC anos."

fi
fi
fi
fi
fi
fi
#---------------------------------------
#-------MENORES-------------------------
#----Se IA for menor que IB e IA for menor que IC então NA é o mais novo.
if [ $IA -lt $IB ] && [ $IA -lt $IC ]
then
   echo "$NA é mais novo e tem $IA anos."
else
#-------
if [ $IB -lt $IA ] && [ $IB -lt $IC ]
then
   echo "$NB é mais novo e tem $IB anos."
else
#-------
if [ $IC -lt $IA ] && [ $IC -lt $IB ]
then
   echo "$NC é mais novo e tem $IC anos."
fi
fi
fi
#------------------------------------------
#--------IGUAIS----------------------------
#--TODOS--
#----Se Ia for igual a IB e IA for igual a IC então as 3 pessoas têm a mesma idade----
if [ $IA -eq $IB ] && [ $IA -eq $IC ]
then
   echo "As 3 pessoas tem idades iguais a $IA."
else
#---A---
if [ $IA -eq $IB ]
then
   echo "As idades de $NA e $NB são iguais a $IA."
else
if [ $IA -eq $IC ]
then
   echo "As idades de $NA e $NC são iguais a $IA."
else
#-------
#---B---
if [ $IB -eq $IC ]
then
   echo "As idades de $NB e $NC são iguais a $IB."
fi
fi
fi
fi

##########################################################
echo ""
echo ""
echo ""
   echo "Deseja sair? [S/N]";read sair
#---- Se sair for igual a S (grande) ou s (pequeno) então....----
if [ $sair = "S" ] || [ $sair = "s" ]
then
   echo "Obrigado por testar meu passatempo! :)"
echo ""
sleep 1
   echo "Criado por: T. Lucas Reis"
sleep 2
reset
exit
else
   echo "A consola será limpa em 2 segundos..."
sleep 2

fi
#-- O done é para completar aquele comando lá de cima "do"
done


Scripts recomendados

Array com lista de diretórios

Imprimindo textos com o comando "echo"

Procedimentos de rotinas

Acelerar leitura e escrita no hd

Acesse seus host por vncviewer


  

Comentários
[1] Comentário enviado por duker em 15/08/2007 - 22:42h

Bem legal bom pra quem tah começando ir estudando, já que tem vérias explicações !!!

BOA DICA

[2] Comentário enviado por andrei_scaratti em 16/08/2007 - 22:42h

Opa amigo, estou iniciando em shell script, vai me ajudar muito.. valeu ai...

[3] Comentário enviado por Tainan em 17/08/2007 - 10:08h

De nada :)
Tudo bem

[4] Comentário enviado por bruno.damada em 21/08/2007 - 08:30h

Legal!

[5] Comentário enviado por igorcemim em 28/08/2007 - 15:44h

adorei o script. realmente esse é funcional

[6] Comentário enviado por vitinho217 em 17/06/2014 - 09:25h

Script bom para estudo, mas com muita repetição de código que poderia ser evitada.

Valeu...

[7] Comentário enviado por OraculoX em 22/06/2014 - 00:33h

Nossa cara muito bom,simples e extremamente util,recomendadissimo pra que ta começando com shellscript


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts