Если предположить, что URL на самом деле закодирован правильно, (сейчас это не так, что может нарушить работу некоторых синтаксических анализаторов XML; оба &
должны быть&
):
$ xmlstarlet sel -t -v '/settings/setting[@id = "Url1"]' -nl file.xml
http://localhost:8080/main.php?value1=abcd-1234&value2=OqUy1cHm&type=post
Это использует xmlstarlet
для получения значения для узла документа /settings/setting
, чей атрибут id
равен Url1
.
Символ доллара экранировать не нужно
export PATH=\$PATH:\/usr/local/qc/OPENMPI_3_1_4/bin/
Это означает, что вы создаете новый PATH
с текстом $PATH:/usr/local/qc/OPENMPI_3_1_4/bin/
. Существующий PATH в этот момент теряется. Вам нужно
export PATH=$PATH:/usr/local/qc/OPENMPI_3_1_4/bin/
В этом случае старое значение PATH (что-то вроде/bin:/usr/bin
)заменяет $PATH, и результат будет/bin:/usr/bin:/usr/local/qc/OPENMPI_3_1_4/bin/
Вы (или можете )написать PATH=abc\$def
, если знак доллара является частью имени каталога. Что крайне редко и почти никогда не происходит, так как символ $
используется для обозначения подстановок, и вам придется экранировать его, чтобы сослаться на такой каталог.