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