2
私はいくつかの変数を含むスクリプトを持っています。そのうちの1つは独自のパスMYPATHです。
MYPATHの出力を保存し、別の変数SOME_OTHER_PATHを同じ値に置き換えます。私は2つの問題があり、私が書いたスクリプトは、このsed:出力を保存して置き換えます
mylocalpath=`sed -n /^MYPATH/p' myfile.sh | sed -e 's/MYPATH/'`
sed -i -e "s/^SOME_OTHER_PATH/${mylocalpath}" myfile.sh
を行い
MYPATH="/opt/local/custom/myfiles"
SOME_OTHER_PATH="/opt/local/custom/myfiles"
をしたい
MYPATH="/opt/local/custom/myfiles"
SOME_OTHER_PATH=""
myfile.sh出力で
現在のエントリーここには
${mylocalpath}
は、「/」これらを評価するためのsedの試行が含まれていると私は(代わりに二回SED実行する)SEDファイルにスクリプト全体をバンドルし、としてそれを実行したいと思い例外がスローされますので、
sed -f sed_file myfile.sh
問題#1の場合([SEDのためのエスケープ文字については、この答え] http://stackoverflow.com/を参照してください。
はちょうど一時ファイルを使用し、「インプレース」編集を実行するにはa/29613573/2877364) – cxw