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
进行测试。
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,用管道或其他方式传递参数?
答案 0 :(得分:2)
at和批量读取来自标准输入或指定文件的命令,这些命令将在以后使用/ bin / sh执行。
man at
因此,您可以使用HEREDOC提供命令,如下所示:
rest(){
echo "have a rest in "$1 " minutes"
at now+$1 minutes <<EOF
xscreensaver-command --lock
EOF
}
(请注意,限制字符串EOF
前面不能有任何空格。)