Dúvida SHell Script

1. Dúvida SHell Script

Antonio jose
antoniojose12

(usa Fedora)

Enviado em 16/05/2018 - 13:54h

boa tarde, eu estou fazendo um programinha pra testa, eu não posso usar um loop, por questões de estudo!
basicamente eu preciso fazer um contador, que se a senha estiver incorreta a variável "valor" é incrementar em +1 e chama novamente o programa;
Eu estou exportando a variável valor, mas não está funcionando, alguma ideia?


export valor="0"
pass="111"

echo "Senha:"
read senha
if [[ "$senha" -eq "$pass" ]]; then
echo "logado"
else
let valor++
echo "Tentativas $valor de 3"
./CHAMANDO_PROGRAMA_NOVAMENTE
fi



  


2. Re: Dúvida SHell Script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 16/05/2018 - 18:14h

antoniojose12 escreveu:

boa tarde, eu estou fazendo um programinha pra testa, eu não posso usar um loop, por questões de estudo!
basicamente eu preciso fazer um contador, que se a senha estiver incorreta a variável "valor" é incrementar em +1 e chama novamente o programa;
Eu estou exportando a variável valor, mas não está funcionando, alguma ideia?



velho .. uma idéia "sem loop" é vc fazer 2 funções, a 1ª chama a segunda em caso negativo no 'if' e a 2ª chama a 1ª em caso positivo no 'if'

v aí se isso te da alguma idéia

#!/bin/bash

tentativa=0
pass="111"

funct () {
echo "Digite a senha:"
read senha
if [ $senha -eq $pass ]; then
echo "logado"
else
funct1
fi
}

funct1 () {
tentativa=$(( $tentativa + 1 ))
echo "Vc já tentou $tentativa vezes, tentar de novo ??? [s]im [n]ão"
read resp
if [ $resp = "s" ];then
funct
else
exit
fi
}

funct


------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------







Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts