У меня 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