Написал скрипт оболочки bash, который использует rsync
для развертывания файлов на работающем веб-сервере.
Непосредственно перед выполнением скрипт выводит полную команду, которую генерирует скрипт my shell:
rsync --chmod="ug=rwx" -e="ssh" --filter="merge .deploy/filters" --dry-run --recursive -v --size-only "/var/www/vhosts/staging/mysite.com/httpdocs/" "me@mysite.com:/var/www/vhosts/mysite.com/domains/mysite.com/httpdocs"
Это выполняется внутри моего сценария оболочки так:
local command=`getDeploymentCommand "$deploy_direction" "$mode"`
echo $command
echo `$command`
... и выдает следующую ошибку:
rsync: Invalid argument passed to --chmod ("ug=rwx")
Синтаксис chmod
выглядит правильно для меня. Что действительно странно, так это то, что настоящая команда, вставленная в оболочку и выполненная, работает нормально. Почему это так и как я могу заставить это работать?