私はabc.sh
持っている:私はecho $HOME
を印刷する場合、私は/HOME/COM/FILE
を取得し、Unixのボックスでsedのコマンドで変数を使う方法は?
exec $ROOT/Subsystem/xyz.sh
を。
$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
それは最初$ROOT
は、すなわち、出力
exec /HOME/COM/FILE/Subsystem/xyz.sh $ROOT/ystem/xyz1.sh
の可能重複[シェルスクリプトで文字列を置換](HTTP ://stackoverflow.com/questions/3306007/replace-a-string-in-shell-script) – tripleee
@ tripleeeこれは数多くの質問と重複していると確信していますが、あなたが指摘した質問それがないので、最高のものではありません変数にスラッシュを入れます。その中のすべての答えはセパレータとして '/'を使います。明白なもの、私は知っているが、より良い(重複した)質問のための余地を残す。 – devnull
[sedスクリプトのシェル変数]の可能な複製(http://stackoverflow.com/questions/7006910/shell-variables-in-sed-script) –