Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将参数传递给at-f脚本_Linux_Bash_Parameters_At Job - Fatal编程技术网

Linux 将参数传递给at-f脚本

Linux 将参数传递给at-f脚本,linux,bash,parameters,at-job,Linux,Bash,Parameters,At Job,我正在尝试在Linux上使用at命令调度bash脚本 at 22:20 -f /path/to/script.sh 发出上面的命令就可以了。但是,脚本需要一些参数。在脚本路径后面添加参数将返回错误消息: at 22:20 -f /path/to/script.sh /arg/one argtwo argthree syntax error. Last token seen: / 是的,传递给脚本的第一个参数是另一个(绝对)路径。我的猜测是,at并没有将我的脚本视为脚本,而是视为一个文件,正如

我正在尝试在Linux上使用
at
命令调度bash脚本

at 22:20 -f /path/to/script.sh
发出上面的命令就可以了。但是,脚本需要一些参数。在脚本路径后面添加参数将返回错误消息:

at 22:20 -f /path/to/script.sh /arg/one argtwo argthree
syntax error. Last token seen: /
是的,传递给脚本的第一个参数是另一个(绝对)路径。我的猜测是,
at
并没有将我的脚本视为脚本,而是视为一个文件,正如
at-help
所暗示的那样


如何解决此问题并向脚本中添加参数?

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

at 22:20 <<< "/path/to/script.sh /arg/one argtwo argthree"

在22:20您可以在不使用-f的情况下发出任何命令作为输入:

at 22:20 
/path/to/script.sh /arg/one argtwo argthree
^d

你是对的,它只需要一个文件名,而不是一个命令。您只需在22:20运行
,然后作为该命令的输入,给出您希望在22:20运行的命令(即
/path/to/script.sh/arg/one arg two arg three
),然后在单独的行上控制-D以标记输入的结束。它应该看起来有点像这样(
$
是我的提示):

(请注意,“作业11…”是打印的确认消息。

$ at 22:20
/path/to/script.sh /arg/one argtwo argthree
job 11 at Thu May 27 22:20:00 2021
$