2017-12-21 19 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

제 1 회 문제에 대한 미안 해요 당신의 nambah (17:00:00) 그런 다음 당신은 또한 필요

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

cek 대입 변환 if 성명 의 시간을뿐 아니라 비교하십시오!

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

마지막으로, 당신은 또한 당신이 당신의 코드가 될 모든 것을 컴파일하면 활성 대기 루프

break를 추가 할 필요가 (당신이 제거 할 수 있습니다 루프에서

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

테스트 후 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

답변 해 주신 Allan에게 큰 감사드립니다. 그게 도움이 –

+0

그게 도움이 당신이 내 답변에 만족한다면 당신은 내 대답을 투표하거나 정답으로 받아 들일 수 :-) 감사합니다 – Allan