2017-12-21 26 views
1

スケジュールリマインダについてはスクリプトを書いていましたが、時間を設定するとこのプログラムは表示できません。スクリプト全体が正しいと思いますが、それでもエラーです。助けてください、私のスクリプトで何が間違っています。ありがとう。 私はあなたのcekがに決して同じであるという事実から来た私の英語シェルbashスクリプト付きプログラムスケジュールリマインブ

nama=$(zenity --entry --text="Enter your name:" --entry-text " "); 
    date=$(zenity --calendar --text "choose your event's day" --date-format=%A-%B-%Y); 

    tang=$(zenity --forms --date-format=`date | awk ‘{print $1 $3,$2,$6}’ `| time :`date | awk '{print $4}'`); 

    nambah=$(zenity --forms --ok-label="Done" --cancel-label="Cancel" --height=100 \ 
--title "Time" \ 
--text "Input Time(format 24)" \ 
--add-entry "Input Hours:Minutes:Second"); 

    text=$(zenity --text-info --title "create event" --editable --font=Purisa); 

a=1 
while (a==1) 
do 
cek="`date | awk '{print $4}'`"; 
if [ "$nambah" == "$cek" ] 
then 
echo -n 
d=`echo "Time: $nambah"` 
fi 
done 

out=$(zenity --info --text "REMEMBER!! $nama today is $date you have event $d 

$text "); 
+0

エラーは? –

答えて

0

第一の問題について申し訳ありません、あなたのnambah17:00:00)次に、あなたはまた、必要

cek="`date +%H:%M+%S`"; 

にごcek逢引を変換します〜ifステートメントと比較すると、時刻は

date=$(zenity --calendar --text "choose your event's day" --date-format=%Y%m%d); 
あなたのループでは

cektime="`date '+%H:%M+%S'`"; 
cekdate="`date '%Y%m%d'`"; 
if [ "$nambah" == "$cektime" -a "$date" == "$cekdate" ] 

なく、少なくとも最後に、あなたもあなたのコードになるすべてをコンパイルする場合(あなたが削除することができ、あなたのアクティブな待機ループ

breakを追加する必要があります試験後のecho):

#!/usr/bin/env bash 

nama=$(zenity --entry --text="Enter your name:" --entry-text " "); 
date=$(zenity --calendar --text "choose your event's day" --date-format=%Y%m%d); 

tang=$(zenity --forms --date-format=`date | awk ¥{print $1 $3,$2,$6}¦ `| time :`date | awk '{print $4}'`); 

nambah=$(zenity --forms --ok-label="Done" --cancel-label="Cancel" --height=100 \ 
--title "Time" \ 
--text "Input Time(format 24)" \ 
--add-entry "Input Hours:Minutes:Second"); 

text=$(zenity --text-info --title "create event" --editable --font=Purisa); 

a=1 
while (a==1) 
do 
    cekdate="`date '+%Y%m%d'`"; 
    cektime="`date '+%H:%M:%S'`"; 
    echo "echo cektime: $cektime" 
    echo "echo cekdate: $cekdate" 
    echo "nambah: $nambah" 
    echo "date: $date" 
    if [ "$nambah" == "$cektime" -a "$date" == "$cekdate" ] 
    then 
     echo -n 
     d=`echo "Time: $nambah"` 
     break 
    fi 
done 

out=$(zenity --info --text "REMEMBER!! $nama today is $date you have event $d $text "); 

しかし、私はうわーuldはいくつかのアクティブ待機を変更することをお勧めしますcron

+0

あなたの答えのための大きな感謝アラン。 thats助けて –

+0

あなたが私の答えに満足しているなら、あなたは私の答えを投票したり、正しい答えとして受け入れることができます。 – Allan

関連する問題