将参数传递给重定向到的脚本

时间:2017-03-13 16:07:09

标签: bash

我有一个简单的命令:

/usr/bin/at -m now < /home/test/script.sh

我想将参数传递给script.sh。

不幸的是,这不起作用:

/usr/bin/at -m now < /home/test/script.sh arg1 arg2

它抛出错误:

  

语法错误。最后一个标记:a

     

时间错误

有谁知道怎么做?我已经尝试过十几个引号,斜杠和类似的参数。他们每个人都会抛出不同的错误。

下面的解决方案对我来说不起作用,因为我必须在另一个bash脚本中运行它。

/home/test/script.sh arg1 | at now

1 个答案:

答案 0 :(得分:3)

您的问题是,您要么执行script.sh,要么将其来源传递给at。但at只需要一些命令字符串,如(字面意思)script.sh args

尝试使用bash的 here strings

at now <<< "/home/test/script.sh arg1 arg2"

相当于

echo "/home/test/script.sh arg1 arg2" | at now