我写了关于计划提醒的脚本,但是当我设定时间时,这个程序无法显示。我认为整个脚本是正确的,但它仍然是错误的。请帮帮我,我的剧本有什么不对。 谢谢。 我很抱歉我的英文
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)
第一个问题来自于您的cek
永远不等于nambah
(17:00:00
)将cek
分配转换为
cek="`date +%H:%M+%S`";
然后您还需要比较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 ");
但是我建议用一些cron