Использование SVN из оболочки Unix не распознает переменные - PullRequest
0 голосов
/ 18 февраля 2011

В оболочке Unix я пробую следующее:

svn_checkout_dir="svn"
svn add "$svn_server" "$svn_checkout_dir/save"

: но «$ svn_checkout_dir / save» не будет преобразовано в «svn / save». Я использую это неправильно?

1 Ответ

4 голосов
/ 18 февраля 2011

Вы должны экспортировать svn_checkout_dir перед вызовом svn:

export svn_checkout_dir="svn"
svn add "$svn_server" "$svn_checkout_dir/save"

Если вы этого не сделаете, svn_checkout_dir является только локальной переменной, а не переменной среды, видимой для svn процесс.Итак, в вашем случае (при условии, что svn_checkout_dir и svn_server определены одинаково), ваш вызов оценивается в

svn add "" "/save"

, если вы не export svn_server и svn_checkout_dir.

Однако, если вы поместите две строки в сценарий, он будет работать, как и ожидалось, поскольку в сценарии svn_checkout_dir отображается как локальная переменная (и переопределяет, возможно, существующую переменную среды с тем же именем).

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