将参数传递给 at -f 脚本

Lin*_*ino 0 linux parameters bash at-job

我正在尝试at在 Linux 上使用命令来安排 bash 脚本。

at 22:20 -f /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

发出上面的命令工作得很好。但是,该脚本需要一些参数。在脚本路径后面添加参数会返回错误消息:

at 22:20 -f /path/to/script.sh /arg/one argtwo argthree
syntax error. Last token seen: /
Run Code Online (Sandbox Code Playgroud)

是的,传递给脚本的第一个参数是另一个(绝对)路径。我的猜测是at,正如at -help暗示的那样,这不会将我的脚本视为脚本,而是将其视为文件。

我该如何解决这个问题并将参数添加到脚本中?

tha*_*guy 6

指定要在 stdin 上运行的命令,例如通过此处的字符串:

at 22:20 <<< "/path/to/script.sh /arg/one argtwo argthree"
Run Code Online (Sandbox Code Playgroud)

您的命令并没有尝试运行/path/to/script.sh在一定的时间。相反,它会从中读取和复制所有命令,/path/to/script.sh然后再运行这些命令。由于您没有调用脚本本身,因此讨论参数没有意义。