Bom treino para iniciados em Shell

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

[ Hits: 13.863 ]

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

Script para administração de usuários de fácil compreensão.

Rotina de Vacuum para banco de Dados Postgres

substituir.sh

Instalador do Lazarus

Configurando e conectando Speedy


  

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