Я использую это решение для замены значений xml на моем CI-сервере.
У нас есть мобильное приложение, использующее инфраструктуру Appcelerator, и мне нужно заменить файл tiapp.xml наномер сборки (для тестирования CI / CD), имя приложения и URL.
Мой сценарий
FILE=tiapp.xml
URL=$(UpdateUrl)
VERSION=$(Build.BuildNumber)
NAME=$(AppName)
sed -i '' "s/\(<name.*>\)[^<>]*\(<\/name.*\)/\1$NAME\2/" $FILE
sed -i '' "s/\(<version.*>\)[^<>]*\(<\/version.*\)/\1$VERSION\2/" $FILE
sed -i '' "s/\(<url.*>\)[^<>]*\(<\/url.*\)/\1$URL\2/" $FILE
cat $FILE
Замена для $ NAME и $ VERSION работает, но $ URL делаетне. Я подозреваю, что это как-то связано с побегом.
Я попытался обернуть $ URL в "" -> "$ URL", но это заменило значение только на литерал "$ URL".