Как пройти \ в скрипте оболочки - PullRequest
0 голосов
/ 20 мая 2018
<proxybypass var="proxybypass">xxx.yyy.com|\DDD.yyy.com</proxybypass>

Где DDD - это имя сервера, как определено ${sname}

невозможно передать переменную \ после xxx.yyy.com| при использовании приведенного ниже кода:

вкратце я должен пройти| \ символ в updateflag

updateflag="<proxybypass var=\"proxybypass\">xxx.yyy.com|\"${sname}".yyy.com</proxybypass>"

sed -i ''"$line_number"'a '"$updateflag"'' $xmlval

1 Ответ

0 голосов
/ 20 мая 2018

Если возможно, измените флаг обновления, чтобы он содержал дополнительный обратный слеш (чтобы избежать того, который вы хотите сохранить):

updateflag="...|\\\\${name}..."

Тогда:

sed "1a $updateflag" <<< "test"

Дает:

test
|\DDD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...