Проблема с разрешением сценария развертывания Bash - PullRequest
1 голос
/ 29 января 2011

Я пишу сценарий развертывания и столкнулся со странной проблемой ...

ian@baster:~$ sudo echo "Build: "$REVISION" - Deployed: "$(date +%Y-%m-%d) > /home/www/prod/www/revision.html
-bash: /home/www/prod/www/revision.html: Permission denied

но ...

root@baster:~# echo "Build: "$REVISION" - Deployed: "$(date +%Y-%m-%d) > /home/www/prod/www/revision.html
root@baster:~# more /home/www/prod/www/revision.html
Build:  - Deployed: 2011-01-28

затем ...

ian@baster:~$ sudo ls -l /home/www/prod/www
total 28
-rw-r--r-- 1 root     root       31 2011-01-28 21:56 revision.html

ian@baster:~$ sudo more /home/www/prod/www/revision.html
Build:  - Deployed: 2011-01-28

В чем дело?

Ответы [ 2 ]

3 голосов
/ 29 января 2011

Обычный способ сделать это с помощью tee:

echo "foo" | sudo tee filename

Вы можете подавить вывод на экран, который tee делает так:

echo "foo" | sudo tee filename >/dev/null
2 голосов
/ 29 января 2011

echo запускается от имени пользователя root, но не перенаправления. Запустите перенаправление в подоболочке sudo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...