最佳答案
我有 abc.sh
:
exec $ROOT/Subsystem/xyz.sh
在 Unix 机器上,如果我打印 echo $HOME
,那么我得到 /HOME/COM/FILE
。
我想用 sed 将 $ROOT
替换为 $HOME
。
预期产出:
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