У меня есть следующий сценарий capistrano (повторный отступ для простоты):
sh -c
'git clone -q [email protected]:naorye/WebDevEasy-Wordpress.git /home1/webdevea/public_html/staging/shared/cached-copy &&
cd /home1/webdevea/public_html/staging/shared/cached-copy &&
git checkout -q -b deploy e508df390778be1d6ce4c4f7ceb71db149fa8f77 &&
git submodule -q init &&
git submodule -q sync &&
export GIT_RECURSIVE=$([ ! \"'git --version'\" \\< \"git version 1.6.5\" ] && echo --recursive) &&
git submodule -q update --init $GIT_RECURSIVE;'
Этот код, созданный WP-стеком: https://github.com/markjaquith/WP-Stack
При запуске на удаленном компьютере я получаю сообщение об ошибке:
-bash: "git: No such file or directory
Когда вы отлаживаете (бегущие строки один за другим), я вижу, что строка, которая делает ошибку:
export GIT_RECURSIVE=$([ ! \"'git --version'\" \\< \"git version 1.6.5\" ] && echo --recursive)
В чем проблема? Как я могу это исправить?
Я не уверен, как сгенерирован сценарий, но, похоже, некоторые ненужные escape-последовательности. Я очистил его, и для меня работает следующее:
export GIT_RECURSIVE=$([ ! "'git --version'" \< "git version 1.6.5" ] && echo --recursive) &&