Если я запустил эти команды из script:
#my.sh
PWD=bla
sed 's/xxx/'$PWD'/'
...
$ ./my.sh
xxx
bla
это нормально.
Но если я запустил:
#my.sh
sed 's/xxx/'$PWD'/'
...
$ ./my.sh
$ sed: -e expression #1, char 8: Unknown option to `s'
В учебниках я читал, что для замены переменных среды из оболочки вам нужно остановиться и "вне цитаты" $varname
, чтобы она не была заменена напрямую, что я и сделал, и которая работает только в том случае, если переменная определяется непосредственно перед.
Как я могу заставить sed распознать $var
как переменную среды, как она определена в оболочке?