使用“at”安排带有参数的脚本

使用“at”安排带有参数的脚本

我有一个 bash 脚本,我想在给定时间运行它。通常我会写这样的东西来立即运行它:

./my_script.sh 1 1 n 8 3 keywords here

我正在尝试使用“执行相同的命令" 命令但它不起作用。如果我运行这个,例如:

at 2230 -f my_script.sh 1 1 n 8 3 keywords here

我收到此错误:

syntax error. Last token seen: 1
Garbled time

如何在给定时间运行带有参数的脚本?

答案1

不需要 -f 选项。尝试以下任一方法:

at 2230 my_script.sh 1 1 n 8 3 keywords here

或者

echo 'my_script.sh 1 1 n 8 3 keywords here' | at 2230

at -f myFile立即将整个文件直接复制到工作文件中。它没有将参数传递给脚本的机制。

我展示的两个替代方案仅将命令本身复制到工作文件中。然后在2230调用script-plus-args。

at-job 文件包含一个用于首先重新创建环境的脚本,因此 PATH、cwd 和大多数其他内容都可用。

建议脚本具有 shebang,因为 at 最初可能会调用与在线 shell 不同的 shell。

在 1030 之前更改或删除脚本可能是不明智的(尽管我认为它是在作业脚本运行之前修复错误的有用工具)。

相关内容