我有一个简单的命令:
/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
答案 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