dialog ... --yesno ???

Post Reply
Message
Author
Shell

dialog ... --yesno ???

#1 Post by Shell »

Hi



wie kann ich auswerten welcher button gewählt wurde (yes/no), da ich in der syntax keine Eingabevariable gefunden hab

danke

Jochen

Re: dialog ... --yesno ???

#2 Post by Jochen »

Wenn Du erst mal auf Dein vorheriges Posting einen Minimalantwort lieferst (geht/geht nicht), antworte ich Dir auch darauf. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Das ist übrigens hier: <a href="http://www.pl-forum.de/cgi-bin/UltraBoa ... 0&Session=" target="_blank"><!--auto-->http://www.pl-forum.de/cgi-bin/UltraBoa ... <!--auto-->

Jochen


Jochen

Re: dialog ... --yesno ???

#4 Post by Jochen »

Ja, dann kann's ja hier weitergehen - wenn Du erst mal alles aus dem ersten Thread verdaut hast. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

dialog setzt in diesem Fall einfach einen passenden Exitcode. Abfragbar ist der aus der Shell mittels der Variablen $?, die immer des Exitcode des zuletzt ausgeführten Kommandos enthält.

Mach einfach mal <pre>dialog --clear --yesno "Test" 8 32 ; echo $?</pre> und wähle dabei einmal "Yes" und einmal "No". Ergebnis: "Yes" ergibt Exitcode 0 und "No" Exitcode 1. Und das passt ganz hervorragend zu den Kontrollstrukturen der Shell: Ein Exitcode eines Kommandos von 0 wird als "Logisch wahr" interpretiert, ein Exitcode ungleich 0 als "Logisch falsch". Zu verwenden wie folgt:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
if dialog --clear --yesno "Ja oder Nein?" 8 32
then
echo "Du hast Ja gesagt: Optimist"
else
echo "Du hast Nein gesagt: Pessimist"
fi
</font><hr></pre></blockquote>
An diese Konvention halten sich fast alle Programme: grep beispielsweise liefert 0, wenn es den Such-Ausdruck mind. einmal gefunden hat, 1 falls nicht, und 2 bei einem Fehler im Aufbau des Such-Ausdrucks. mkdir liefert 0, wenn es ein Verzeichnis erstellen kann, und 1, falls nicht (wg. fehlenden Berechtigungen oder was auch immer). Welches Kommando im welchen Fall Dir welchen Exitcode gibt, findest Du immer in der man-Page.

Jochen

Post Reply