2017-02-09 3 views
11
rest(){ 
    echo "have a rest in "$1 " minutes" 
    at -f /home/rest.sh now+$1 minutes 
} 

rest.shスクリプトを編集します。残りのatコマンドは単純化できますか?

vim /home/rest.sh 
xscreensaver-command --lock 

はそれをテストします。

rest 60 
have a rest in 60 minutes 
warning: commands will be executed using /bin/sh 
job 7 at Thu Feb 9 11:15:00 2017 

atコマンドは単純化できますか?
/home/rest.shを削除するには、パイプまたは他の方法でパラメータを渡しますか?

答えて

2

at/batch/shを使用して、後で実行する標準入力または指定ファイルからのバッチ読み取りコマンド。

man at

だから、あなたはそれがこのように、HEREDOCでコマンドを養うことができます。

rest(){ 
    echo "have a rest in "$1 " minutes" 
    at now+$1 minutes <<EOF 
    xscreensaver-command --lock 
EOF 
} 

(制限文字列EOFはそれの前に空白を持つことができないことに注意してください)

関連する問題