我有abc.sh:
exec $ROOT/Subsystem/xyz.sh
在Unix机器上,如果我打印,echo $HOME那么我得到/HOME/COM/FILE.
我想更换$ROOT与$HOME使用sed的.
预期产出:
exec /HOME/COM/FILE/Subsystem/xyz.sh
我试过了,但我没有得到预期的输出:
sed  's/$ROOT/"${HOME}"/g' abc.sh > abc.sh.1
加成:
如果我有 abc.sh
exec $ROOT/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh
然后用
sed "s|\$INSTALLROOT/|${INSTALLROOT}|" abc.sh
它只是首先替换$ROOT,即输出即将到来
exec /HOME/COM/FILE/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh
dev*_*ull 101
说:
sed "s|\$ROOT|${HOME}|" abc.sh
注意:
sed扩展变量./与替换包含时不同的分隔符/$模式,因为你不想逃避它.编辑:为了替换所有出现$ROOT,比如说
sed "s|\$ROOT|${HOME}|g" abc.sh
pot*_*ong 21
这可能对你有用:
sed 's|$ROOT|'"${HOME}"'|g' abc.sh > abc.sh.1
| 归档时间: | 
 | 
| 查看次数: | 108027 次 | 
| 最近记录: |