Я работаю над скриптом оболочки, который выполняет некоторые задачи развертывания, проверяя файлы из svn и вызывая Jar. Я использую тестовый SVN-адрес без проблем для разработки. Теперь мне нужно протестировать развертывание тегов, и вдруг svn дает мне проблемы, когда я пытаюсь создать url с помощью ввода.svn экспортирует работу в командной строке, но не в сценарий оболочки
Я строю URL-адрес, как это:
svnurl=$(echo ${template//[# ]/})
svnurl=$(svn://0.0.0.1/models/tags/"$tag"/"$svnurl")
urls=("${urls[@]}" $svnurl)
, который лишь незначительно отличается от рабочего кода:
svnurl=$(echo ${template//[# ]/})
urls=("${urls[@]}" $svnurl)
svn export "$svnurl"
(в основном я беру IP и теги каталога из URL -template).
теперь, когда я пытаюсь запустить мою оболочку, вместо того, чтобы «экспортировать полный», я получаю следующее:
./deploy-files.sh: line 36: svn://0.0.0.1/models/tags/201407221642/ResponseA.xsl: No such file or directory
svn: '.' is not a working copy
Когда я бегу в терминале экспорта файлов правильно svn export svn://0.0.0.1/models/tags/201407221642/ResponseA.xsl
. Я проверил, и URL-адреса идентичны. Я не могу воспроизвести «.». это ошибка рабочей копии, независимо от того, что я пытаюсь сделать.
Примечание: svn export -q svn://0.0.0.1/models/tags/"$tag"/deploy-filelist.yml
используется ранее в сценарии, и что работает отлично
Что может быть причиной?
Благодаря
EDIT
подробнее о том, как SVN URLs построены
urls=()
IFS=$'\n' yaml=($(cat deploy-filelist.yml))
for u in "${yaml[@]}"; do
if [[ $u =~ url.* ]]
then
template=$(echo $u | sed -e 's/url://g' -e 's/"//' -e 's/"$//')
svnurl=$(echo ${template//[# ]/})
svnurl=$(svn://0.0.0.1/models/tags/"$tag"/"$svnurl")
urls=("${urls[@]}" $svnurl)
svn checkout "$svnurl"
fi
done
Я прочитал каждую строку из развертывания-filelist.yml. если строка содержит «url», я вырезаю требуемую строку и добавлю ее в шаблон «svn: // ....». URL-адрес сформирован правильно, так как я могу скопировать сообщение об ошибке и использовать его для экспорта файла.
Можете ли вы дать достаточно информации (например, как использовать '$ {шаблон // [#] /}'), чтобы любой мог попытаться воспроизвести это? –