2017-05-20 2 views
0

時間を表示するダイアログボックスの表示に問題があります。 私は時間を表示する手段として の日付+ "%T"を使用していますが、メッセージダイアログでそれを使用すると日付+%Tのように冗長表示されます07:41:40私は割り当てを試しました変数に値を渡してダイアログボックスのスクリプトで呼び出しても、それを動作させることはできません。私の応答ダイアログボックスが別の形式である必要があるのか​​、かっこの使い方がうまくいけばいいのかなと思います。これは私がこれまで持っていたものです。ダイアログボックスの応答時間の分散時間

#!/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

'z =" date + "%T" "'を 'z = $(date +"%T ")'に置き換えることをお勧めします。 – Cyrus

+0

私はその部分を修正しました、そして、私は今、応答として日付を得ることができますが、どの選択が行われても日付を取得するように見えます。 yesnoのダイアログボックスでyesは "0"を返し、noは "1"を返さなければなりませんが、結果は同じです。 – Grunt

答えて

1

私はお勧め:

#!/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 

$?は、前のコマンドの戻りコードが含まれています。

+0

"if"ステートメントの後に変数を宣言しないでください。 – Grunt