«Синтаксическая ошибка рядом с неожиданным токеном crontab» при попытке добавить задание cron в одну строку как sudo - PullRequest
0 голосов
/ 24 мая 2019

Я получаю синтаксическую ошибку "-bash: рядом с неожиданным токеном" crontab ", когда пытаюсь записать задание cron в crontab в одну строку. (Это для конфигурации запуска на EC2.) Я следую этому руководству здесь.

Это моя команда:

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

Если я запускаю без sudo, он говорит мне, что я "должен иметь привилегию использовать -u". Когда я запускаю с sudo, я получаю "bash: синтаксическая ошибка рядом с неожиданным токеном`} '"

Я уверен, что у меня неправильный синтаксис с sudo, но я не уверен, где.

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Другой способ выполнить то, что вы хотите:

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

Таким образом, вам нужно указать sudo только один раз.

0 голосов
/ 24 мая 2019

sudo может запускать только внешние команды, а не синтаксис оболочки, такой как группы скобок (или циклы / функции / операторы if / и т. Д.).Используйте его для отдельных команд, для которых вам нужны специальные привилегии:

{ sudo crontab -l -u ec2-user; echo "* * * * * touch /home/ec2-user/dummy/dummy$ENV"; } | sudo crontab -u ec2-user -
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...