Pagina 1 di 1

[Risolto][Bash] zenity modifica la variabile $? e non ritorna gli errori

Inviato: venerdì 12 settembre 2008, 11:52
da Demiurgo

Codice: Seleziona tutto

gksu apt-get install willywonka | zenity --progress --text="test" --title="test" --pulsate

   if [ $? -eq 0 ];
     then
            echo "funziona!"
     else
            echo "MA CHE c***!!"
 fi
Ecco qui il codice che mi da problema...
apt-get in quando trova un errore imposta la variabile $? con un valore diverso da 0 mentre se tutto è andato bene il valore rimane uguale a 0... il problema è che utilizzando zenity la variabile $? viene modificata e quindi ogni volta il programma ritorna sempre con Funziona!.
Come potete vedere il pacchetto willywonka non esiste ma nonostante ciò al termine del processo lo script mi restituisce "Funziona!" poichè, premendo Ok nel riquadro di zenity, il valore della variabile $? diventa uguale a 0.

La mia domanda è: Come faccio dunque a stabilire quando ci sono gli errori se zenity ogni volta mi cambia la variabile e quindi anche la veridicità dell'operazione?

Grazie a tutti per le risposte  (b2b)

Re: [Bash] zenity modifica la variabile $? e non ritorna gli errori

Inviato: venerdì 12 settembre 2008, 12:07
da Demiurgo
Risolto:  (good) (good)

Codice: Seleziona tutto

pass=`zenity --entry --text="dammi password.:"`

echo "$pass" | sudo -S apt-get -y install merda | zenity --progress --auto-close --pulsate
   if [ "${PIPESTATUS[1]}" ==  "0" ];
     then
            echo "funziona!"
     else
            echo "MA CHE CAZZO!!"
 fi