Ajuda com Shell Script básico... [RESOLVIDO]

1. Ajuda com Shell Script básico... [RESOLVIDO]

Fernando Henrique Costa Carneiro
infernando

(usa Ubuntu)

Enviado em 01/11/2011 - 12:54h

Estou iniciaando ainda em shell script e fiz um script de teste, ele funciona porem tem um problema que não consiguo resolver.Se eu coloco a senha errada ele continua a linha de comando como se ela estivesse certa, ele não executa o "Else", mesmo com a senha errada ele executa o "Then". Oque estou fazendo errado e como resolver?


#!/bin/bash

clear
echo "Entre com a senha"
stty -echo
read senha
stty echo
clear

if [ $senha="fernan" ]
then
user='Fernando Henrique'
echo "Olá $user !"
sleep 3s
clear
echo "Oque gostaria de fazer?"
read funcao
else
echo "Você nao tem autorizacao para entrar"
sleep 3s
fi

if [ $funcao='sair' ]
then
echo "Até mais!"
else
echo "Não intendi"
sleep 3s
fi

Obrigado!


  


2. MELHOR RESPOSTA

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 01/11/2011 - 13:08h

teste assim
eu alterei na linha do 1º if e no 2º

#!/bin/bash

clear
echo "Entre com a senha"
stty -echo
read senha
stty echo
clear

if [ $senha = fernan ]
then
user='Fernando Henrique'
echo "Olá $user !"
sleep 3s
clear
echo "Oque gostaria de fazer?"
read funcao
else
echo "Você nao tem autorizacao para entrar"
sleep 3s
fi

if [ $funcao = sair ]
then
echo "Até mais!"
else
echo "Não intendi"
sleep 3s
fi


3. Re: Ajuda com Shell Script básico... [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/11/2011 - 15:53h

Você precisa informar o programa quando ele deve "sair" ... isso pode ser feito colocanndo um "exit 0" ... assim:

clear
echo "Entre com a senha"
stty -echo
read senha
stty echo
clear

if [ "$senha" = "fernan" ]
then
user='Fernando Henrique'
echo "Olá $user !"
sleep 3s
clear
echo "Oque gostaria de fazer?"
read funcao
else
echo "Você nao tem autorizacao para entrar"
sleep 3s
exit 0
fi

if [ "$funcao" = "sair" ]
then
echo "Até mais!"
else
echo "Não intendi"
sleep 3s
fi



4. Valeu xD

Fernando Henrique Costa Carneiro
infernando

(usa Ubuntu)

Enviado em 01/11/2011 - 16:16h

Valeu realmente mudei as linhas do if e resolveu, queria intender porque estava dando erro?! Mas de qualquer forma valeeu contribuiu bastante pro meu aprendizado! :)


5. Re: Ajuda com Shell Script básico... [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 01/11/2011 - 16:40h

tranquilo
qualquer coisa estamos ai


6. Re: Ajuda com Shell Script básico... [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/11/2011 - 17:40h

Srs. Embora o script tenha rodado a contento sinto na obrigação de adicionar outras informações sobre comparação.

O sinal = é usado para atribuição de valores.

VAR='valor' # atribui a variável VAR o valor, "valor".

Para comparações usamos == , que é equivalente ao sinal de igualdade matemático quando comparamos strings.

if [ $VAR == 'fernan' ]
then
exit 1
else
exit 0
fi








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts