Autor Tópico: Não tô acertando a sintaxe do --radiolist do kdialog  (Lida 1769 vezes)

Offline dacarpe

  • Usuário Ubuntu
  • *
  • Mensagens: 64
    • Ver perfil
    • Maria perdeu as asas
Não tô acertando a sintaxe do --radiolist do kdialog
« Online: 18 de Dezembro de 2008, 10:27 »
Alguém me ajuda nessa sintaxe?
Ele executa até a exibição do --radiolist, mas não segue para os if's. Segue abaixo o meu script de estudo:

Código: [Selecionar]
kdialog --title "Escolha" --radiolist 'Escolha uma das opções a seguir:' \
"opçao1" "Esta opção é boa" off \
"opçao2" "Esta opção é mai o meno" off \
"opçao3" "Esta opção é ruim" off \

$1 = "Opção 1"
$2 = "Opção 2"
$3 = "Opção 3"

if [$1 = "Opção 1"];
then
kdialog --msgbox "Show de bola"
fi

if [$2 = "Opção 2"];
then
kdialog --msgbox "O que houve?"
fi

if [$3 = "Opção 3"];
then
kdialog -- "Tá maluco?"
fi

Quem puder ajudar, agradeço. Se não for pedir muito, explicando, porque to estudando essa parada ae... :P
Ubuntu 10.10 + Windows 7
4GB Ram, Placa ECS A780GM-A com AMD Phenom II (Quad - 6MB de Cache) 2.66GHz, HD 500GB, Video 1GB (64 bits) on Board

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: Não tô acertando a sintaxe do --radiolist do kdialog
« Resposta #1 Online: 18 de Dezembro de 2008, 10:51 »
Você só coloca um sinal de "$" na frente da variável quando quer usar seu conteúdo, portanto corrija as linhas em negrito abaixo:

Citar
kdialog --title "Escolha" --radiolist 'Escolha uma das opções a seguir:' \
"opçao1" "Esta opção é boa" off \
"opçao2" "Esta opção é mai o meno" off \
"opçao3" "Esta opção é ruim" off     #  Tirei a \ daqui

1="Opção 1"
2="Opção 2"
3="Opção 3"

if [$1 = "Opção 1"];
then
kdialog --msgbox "Show de bola"
fi

if [$2 = "Opção 2"];
then
kdialog --msgbox "O que houve?"
fi

if [$3 = "Opção 3"];
then
kdialog -- "Tá maluco?"
fi

Mas vou te dizer que ele vai entrar nos três IF's. Acho que você ainda não entendeu o espírito do kdialog, ou do shell script.

Experimente colocar o comando kdialog jogando direto seu resultado para uma variável, e ai teste apenas ela.
« Última modificação: 18 de Dezembro de 2008, 10:53 por clcampos »
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

alarcon

  • Visitante
Re: Não tô acertando a sintaxe do --radiolist do kdialog
« Resposta #2 Online: 18 de Dezembro de 2008, 12:24 »
Opa, relembrando a elaboração de scripts em kadialog, por sinal chatinha :D, que tal assim:

Código: [Selecionar]
#!/bin/bash

rm -f /tmp/resultado_temp
kdialog --title "Escolha" --radiolist "Escolha uma das opções a seguir:" 1 "Esta opção é boa" off 2 "Esta opção é mai o meno" off 3 "Esta opção é ruim" off 2> /dev/null > /tmp/resultado_temp
resultado_final=`cat /tmp/resultado_temp`
rm -f /tmp/resultado_temp

if [ "${resultado_final}" = "1" ]; then

kdialog --msgbox "Show de bola" 2> /dev/null

elif [ "${resultado_final}" = "2" ]; then

kdialog --msgbox "O que houve?" 2> /dev/null

elif [ "${resultado_final}" = "3" ]; then

kdialog --msgbox "Tá maluco?" 2> /dev/null

else

kdialog --msgbox "A instalação foi abortada" 2> /dev/null

fi

exit 0