Pular para o conteúdo

Read não reconhece a resposta correta [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 25/12/2013 - 01:08h

Não entendo o que pode está acontecendo com este script aqui:

#!/bin/bash

echo 'Escolha o tema de ícones do wbar:
(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey'

read resposta

if [ "resposta" = "a" ]; then
cp $HOME/.wbar-azenis $HOME/.wbar

elif [ "resposta" = "b" ]; then
cp $HOME/.wbar-faenza $HOME/.wbar

elif [ "resposta" = "c" ]; then
cp $HOME/.wbar-moka $HOME/.wbar

elif [ "resposta" = "d" ]; then
cp $HOME/.wbar-simplegrey $HOME/.wbar

else
echo "Opção inválida. O Script termina aqui"

fi

Aparentemente está tudo ok com o script, mas quando eu digito uma das opções ele não reconhece como resposta válida. Aguma dica?

Responder tópico

2. Re: Read não reconhece a resposta correta [RESOLVIDO]

Melhor resposta

Enviado em 25/12/2013 - 21:48h

costapha escreveu:

Alterei mas continua do mesmo jeito.

paulo@debian:~/Documentos/Scripts$ ./wbar-config.sh
Escolha o tema de ícones do wbar:
(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey
c
Opção inválida. O Script termina aqui

Parece que o script não está reconhecendo nenhuma tecla digitada. Já tentei substituir as letras por números e também nada feito.
Já vi o erro amigo....

Quando fizer o teste use assim $resposta

ficando assim -> if [ $resposta = "a" ]; then

testa ai!


3. Re: Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 25/12/2013 - 19:34h

costapha escreveu:

Não entendo o que pode está acontecendo com este script aqui:

#!/bin/bash

echo 'Escolha o tema de ícones do wbar:
(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey'

read resposta

if [ "resposta" = "a" ]; then
cp $HOME/.wbar-azenis $HOME/.wbar

elif [ "resposta" = "b" ]; then
cp $HOME/.wbar-faenza $HOME/.wbar

elif [ "resposta" = "c" ]; then
cp $HOME/.wbar-moka $HOME/.wbar

elif [ "resposta" = "d" ]; then
cp $HOME/.wbar-simplegrey $HOME/.wbar

else
echo "Opção inválida. O Script termina aqui"

fi

Aparentemente está tudo ok com o script, mas quando eu digito uma das opções ele não reconhece como resposta válida. Aguma dica?
Amigo, substitua a sua parte por dessa forma e testa....

echo "Escolha o tema de ícones do wbar:"
echo "(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey"



4. Re: Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 25/12/2013 - 19:55h

Alterei mas continua do mesmo jeito.

paulo@debian:~/Documentos/Scripts$ ./wbar-config.sh
Escolha o tema de ícones do wbar:
(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey
c
Opção inválida. O Script termina aqui

Parece que o script não está reconhecendo nenhuma tecla digitada. Já tentei substituir as letras por números e também nada feito.

5. Use $ antes de variáveis

Enviado em 25/12/2013 - 22:41h

Olá, amigo!
Antes das variáveis, coloque o símbolo "$".

Ex.:

$resposta

6. Re: Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 26/12/2013 - 08:21h

PretooOO escreveu:

costapha escreveu:

Alterei mas continua do mesmo jeito.

paulo@debian:~/Documentos/Scripts$ ./wbar-config.sh
Escolha o tema de ícones do wbar:
(a) Azenis; (b) Faenza; (c) Moka; (d) SimpleGrey
c
Opção inválida. O Script termina aqui

Parece que o script não está reconhecendo nenhuma tecla digitada. Já tentei substituir as letras por números e também nada feito.
Já vi o erro amigo....

Quando fizer o teste use assim $resposta

ficando assim -> if [ $resposta = "a" ]; then

testa ai!



+1
certeza que é isso

7. Re: Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 26/12/2013 - 10:15h

o erro realmente está no teste.

para comparar string use os operadores == ou !=

isso não funciona:


[ "resposta" = "c" ]
tente assim:


[ "$resposta" == "c" ]

8. Re: Read não reconhece a resposta correta [RESOLVIDO]

Enviado em 26/12/2013 - 11:15h

Valeu galera, agora sim funcionou.

O problema era mesmo a falta do $:

if [ "$resposta" = "a" ]; then

Obrigado!!!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder