2017-05-20 1 views
0

Ich habe ein Problem bekommen ein Dialogfeld zur Anzeige der Zeit. Ich benutze Datum + "% T" als Mittel, um die Zeit anzuzeigen, aber wenn ich es in einem Nachrichtendialog verwendet zeigt es nur als Datum + "% T", anstatt 07:41:40 Ich habe versucht, Zuweisung der Wert für eine Variable und es im Dialogfeld Skript aufrufen, aber immer noch kann ich es nicht zum Laufen bringen. Ich frage mich, ob mein Antwortdialogfeld ein anderes Format haben muss oder ob meine Klammerbenutzung verdreht ist. Das habe ich bisher.Dispaly-Zeit in einem Dialogfeld Antwort

#!/bin/bash 

dialog --title "Message" --yesno "Do you want to see the system time?" 6 25 

z="date +"%T"" 
if [ "$?" != "1" ] 
then 
    dialog --title "message" --msgbox "$z" 6 25 
else 
    dialog --title "Message" --msgbox "ok soo what" 6 25 
fi 
+1

Ich empfehle, 'z =" Datum + "% T" "' durch 'z = $ (Datum +"% T ")' zu ersetzen. – Cyrus

+0

Ok, ich habe diesen Teil repariert und ich kann jetzt das Datum als Antwort bekommen, aber es scheint egal, welche Auswahl getroffen wird, ich bekomme das Datum. In einem Yesno-Dialogfeld soll yes Ihnen eine "0" geben und nein soll Ihnen eine "1" geben, aber ich scheine nicht, was ich in der Box treffe, das Ergebnis ist das gleiche. – Grunt

Antwort

1

Ich schlage vor:

#!/bin/bash 

dialog --title "Message" --yesno "Do you want to see the system time?" 6 25 

if [ "$?" != "1" ] 
then 
    z=$(date +"%T") 
    dialog --title "message" --msgbox "$z" 6 25 
else 
    dialog --title "Message" --msgbox "ok soo what" 6 25 
fi 

$? enthält den Rückgabecode des vorherigen Befehls.

+0

Deklarieren Sie die Variable also erst nach der "if" -Anweisung. – Grunt

Verwandte Themen