首页 > 解决方案 > Linux At Now 命令调用带有属性的 Bash 脚本

问题描述

尝试在 bash 脚本中运行此代码,但没有运气,因为它无法运行。它本质上做的是从第一个 bash 脚本中获取第三个属性,${3:-365}如果找不到该属性,它将使用默认值 365 作为运行命令的天数。然后它调用 bash 脚本bash /home/corey/emailSignature/deleteUser.sh ${1},其中传递来自第一个 bash 脚本的用户定义变量。

at now + ${3:-365} days -f 'bash /home/corey/emailSignature/deleteUser.sh ${1}' &

有谁能让我知道我做错了什么?

标签: linuxbash

解决方案


-f期望一个文件从中读取命令,但不是文件名而是给它一个命令。

改为在标准输入上输入命令(并记住转义您的参数):

echo "bash /home/corey/emailSignature/deleteUser.sh ${1@Q}" | at now + ${3:-365} days

推荐阅读