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
暗示的那样,这不会将我的脚本视为脚本,而是将其视为文件。
我该如何解决这个问题并将参数添加到脚本中?
指定要在 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
然后再运行这些命令。由于您没有调用脚本本身,因此讨论参数没有意义。