如何在shell脚本中传递\

时间:2018-05-20 10:13:59

标签: shell unix scripting

<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 :(得分:1)

如果可以更改updateflag,那么它包含一个额外的反斜杠(以逃避你想要保留的那个):

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

然后:

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

给出:

test
|\DDD