在rest的命令可以简化吗?

rest(){ echo "have a rest in "$1 " minutes" at -f /home/rest.sh now+$1 minutes } 

编辑rest.sh脚本。

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

testing它。

 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 

rest的命令能够被简化吗?
要删除/home/rest.sh,用pipe道或其他方式传递参数?

at和批量读取来自标准输入或指定文件的命令,这些命令将在稍后执行,使用/ bin / sh。

man at

所以,你可以用HEREDOC来喂它的命令,就像这样:

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

(注意限制字符串EOF在它前面不能有空格)