zenity --question com problema [RESOLVIDO]

1. zenity --question com problema [RESOLVIDO]

Morpheus
Minions

(usa Nenhuma)

Enviado em 25/02/2021 - 12:29h

Se fecha no x da janela cai no else


#!/bin/bash
zenity --question --text="Abrir novamente o script?" --width=300 --height=100 --title="Test"
if [ $? = 0 ]; then
echo "Abrindo"
else
echo "saindo"

fi



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/02/2021 - 17:09h


Minions escreveu:

Se fecha no x da janela cai no else


#!/bin/bash
zenity --question --text="Abrir novamente o script?" --width=300 --height=100 --title="Test"
if [ $? = 0 ]; then
echo "Abrindo"
else
echo "saindo"

fi

Boa tarde, Minions, não está com problema....
Se clicar no "X", o exit Code é 1.....
Sendo assim, cai no else.
Alternativa: zenity --list, se clicar em cancelar ou "X", a var resp é vazia
#!/usr/bin/env bash
resp=$(zenity --list --title="Pergunta?" --text "" --radiolist --column "" --column "Opções" false "Sim" false "Não" 2>/dev/null);
case $resp in
Sim) echo "Ação para Resp: Sim";;
Não) echo "Ação para Resp: Não";;
*) echo "Ação para Resp: Nem Sim, nem Não";;
esac



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



3. Re: zenity --question com problema [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/02/2021 - 22:04h


Minions escreveu:


msoliver escreveu:


Minions escreveu:

Se fecha no x da janela cai no else


#!/bin/bash
zenity --question --text="Abrir novamente o script?" --width=300 --height=100 --title="Test"
if [ $? = 0 ]; then
echo "Abrindo"
else
echo "saindo"

fi

Boa tarde, Minions, não está com problema....
Se clicar no "X", o exit Code é 1.....
Sendo assim, cai no else.
Alternativa: zenity --list, se clicar em cancelar ou "X", a var resp é vazia
#!/usr/bin/env bash
resp=$(zenity --list --title="Pergunta?" --text "" --radiolist --column "" --column "Opções" false "Sim" false "Não" 2>/dev/null);
case $resp in
Sim) echo "Ação para Resp: Sim";;
Não) echo "Ação para Resp: Não";;
*) echo "Ação para Resp: Nem Sim, nem Não";;
esac




Se não usar nenhuma opção da radiolist e depois OK , clicar no X ou clicar em cancelar vai cai no => *) echo "Ação para Resp: Nem Sim, nem Não";;
Isso abaixo da case.

Não está abaixo do case, está dentro do case.....é o "*)"
Sim) echo "Ação para Resp: Sim";;
Não) echo "Ação para Resp: Não";;
*) echo "Ação para Resp: Nem Sim, nem Não";;
esac

Justamente, se não marcar nenhuma opção, ou Cancelar, ou ainda Clicar no X,
Coloquei a mensagem mostrando que nenhuma opção foi escolhida....
Ai, nessa parte, voce coloca o comando mais adequado para a situação.....
Obs.: Deixei o Sim e o Não desmarcados,
Observe que antes de cada um tem FALSE, para marcar um deles, troque false por true

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts