2015-06-03 137 views
-3

我想知道如何運行一個腳本,在我的電腦上運行一個命令,如果時間等於x。我聽說at命令和其他一些命令,但我試圖讓我的獨特一點。腳本在10點運行命令

問題是,當我嘗試我的腳本,當我的電腦開着,我運行它,它檢查小時,但如果我打開我的電腦在x:36什麼的,那麼我的刷新將發生在一小時後x但36分鐘,請諮詢!

我的腳本

time="$(date +%H)" 
echo $time 
if [ $time != "22" ]; then 
    sleep 1h 
else 
    zenity --title="asdf" --text="asdf" --info 
fi 
+7

在cron/at閱讀,但爲什麼重新發明輪子 –

+0

謝謝,crontab正是我所需要的:)感謝其他答案呢! –

回答

0

如果你想在22:00止,輸出運行命令,並比較兩小時和分鐘:

time=$(date +%H:%M) 
if [ $time != 22:00 ] ; then 
    sleep 58 
... 
+0

'睡眠60'不能保證睡眠_精確_60秒 - 睡眠更多,睡眠更少。冒着重負載系統錯失窗口似乎並不理想。 –

0

你不想睡覺1小時,你想睡,直到 2200.有了GNU date,你可以用

now=$(date +%s) 
t=$(date +%s --date 2200) 
sleep "$now" 
zenity --title="asdf" --text="asdf" --info