尝试在一行中添加 cron 作业作为 sudo 时"Syntax error near unexpected token `crontab'"



我在尝试写一条cron作业时,我会得到一个" bash:crontab'crontab'的语法错误:crontab'。(这是用于EC2上的启动配置。(我在此处遵循本指南。

这是我的命令:

sudo { crontab -l -u ec2-user; echo "* * * * * touch /home/ec2-user/dummy/dummy$ENV"; } | crontab -u ec2-user -

如果我在没有sudo的情况下跑步,它告诉我我"必须有特权使用-u"。当我与sudo一起运行时,我会得到" bash:bash:语法错误接近意外的令牌"'}''

我敢肯定我的语法是sudo的错误,但我不确定在哪里。

完成想要的东西的另一种方法:

sudo bash -c "{ crontab -l -u ec2-user; echo '* * * * * touch /home/ec2-user/dummy/dummy$ENV'; } | crontab -u ec2-user -"

这样,您只需指定sudo一次。

sudo只能运行外部命令,而不能像brace group(或loops/functions/if-statements/etc(这样的外壳语法。在单个命令上使用它,您需要特殊特权:

{ sudo crontab -l -u ec2-user; echo "* * * * * touch /home/ec2-user/dummy/dummy$ENV"; } | sudo crontab -u ec2-user -

相关内容

最新更新