Как получить значение поля config.XML на основе значения файла свойств в сценарии оболочки? [закрыто]

У меня есть XML-файл с именем config.xml

<builders>
    <hudson.tasks.Shell>
      <command>$RA_CHEKOUT_SHELL_COMMAND</command>
    </hudson.tasks.Shell>
  </builders>

Вот мой файл свойств content

build.prop

Это для проверки работы от Jenkins. здесь мы собираемся выполнить операцию проверки.

Сценарий оболочки

Здесь я читаю файл свойств построчно, присваиваю значения файла свойств переменной и использую значение в поле файла config.xml.

file="/var/lib/jenkins/workspace/Env-inject-example2/build.prop"
counter=1

while IFS= read line
do
    # display $line 
    echo "Text read from file: $line" 
    counter=`expr $counter + 1`
    name=$(cat "$file") 
    echo $name 
    echo "Change values in config.xml..."
done <"$file"
cat <<EOF 
<?xml version="1.0" encoding="UTF-8"?>
<config>
   <builders>
    <hudson.tasks.Shell>
      <command>$name</command>
    </hudson.tasks.Shell>
  </builders>
</config>
EOF  
echo "Done."

Примечание: Теперь я использовал config.xml в сценарии оболочки, чтобы изменить значение поля, но я хочу использовать переменную оболочки вне файла config.xml. Как мне представить путь и как мне ввести значения в файл config.xml.

1
задан 25 May 2017 в 12:55

1 ответ

sed "s@PatternThatShouldBeReplaced@$name" /Path/To/config.xml

Примечание: разделитель sed обычно / но я предлагаю в этом случае для разрешения переменной включать / не выходя

0
ответ дан 8 December 2019 в 05:15

Другие вопросы по тегам:

Похожие вопросы: