sed并用$变量替换字符串

Pom*_*dou 3 bash sed

我有一点问题.

我尝试用文件中的$变量替换字符串(一行).

所以我使用命令:

sed -i -e "s/conf .*/conf = $PATH_CONF/g" generals.conf
Run Code Online (Sandbox Code Playgroud)

如果PATH_CONF不包含像"/"这样的特殊字符,那么它正在工作.

但是PATH_CONF包含一个路径(/ home/etc.)所以它有几个"/",然后我收到一个错误:

 bad flag in substitute command: 'h' 
Run Code Online (Sandbox Code Playgroud)

那么我该怎样做才能在我的$变量中加入特殊字符?

谢谢.

Mit*_*dir 8

尝试:

sed -i -e "s@conf .*@conf = $PATH_CONF@g" generals.conf
Run Code Online (Sandbox Code Playgroud)

你需要相同的字符作为分隔符(这里是@),而不是三个/ s.