Может кто-нибудь помочь с этим запросом.В настоящее время пытаюсь передать переменную в xml с помощью sed.Это прекрасно работает только с текстом, однако не позволяет подобрать переменную внутри bash, например, $ 1, $ 2 и т. Д., Которые пользователь должен будет ввести.
EG:
sed 's/<\/sProblemDesc>/'"anew test"'&/' create.xml
успешный вывод <sProblemDesc>anew test</sProblemDesc>
Однако, если вставить переменную $ 1 между новой тестовой частью, это либо возвращает литеральное имя переменной, а не данные.
Пользователь будет запускать скрипт как таковой
./script.sh "enter stuff here" "enter more stuff" "21313122131"
Так что мне нужно знать, как заставить его работать с переменной, но также принять во внимание, что мне нужно использовать кавычкиразделить переменные .. (если есть другой способ сделать это, дайте мне знать: D!)
Любые запросы, дайте мне знать ура
Обновление: По запросу имя переменной просто имя переменной= "$ 1"
Я также пытался удалить кавычки, просто наличие = $ 1, похоже, тоже не работает с этим, поэтому я предполагаю, что это потому, что при запуске скрипта (./script "здесь" "и т.д. "" и т.д. "Я использую кавычкитам, но не уверен, как обойти это.
EG
Скрипт
variablename=$1
sed 's/<\/sProblemDesc>/'"$variablename"'&/' create.xml
работаетскрипт
./script "variablename here" "etc etc" "etc"
XML пуст, такой как <sProblemDesc></sProblemDesc>
другой пример
echo sed 's/<\/sActionDesc>/'"$variablename"'&/' create.xml
возвращает следующеекоторый не показывает имя переменной, просто пустое
sed s/<\/sActionDesc>/&/ create.xml
Еще раз
wingZero