私はsedコマンドを直接実行すると動作します。Bash変数からsedコマンドを実行するにはどうすればよいですか?
echo foo > /home/user/bar
sed -i 's/foo/zoo/' /home/user/bar
直接$(...)
または `...`に埋め込まれたときにも動作します。私はbashの変数からそれを実行しようとした場合
はしかし、私はエラーを取得する:
CMD="sed -i 's/foo/zoo/' /home/user/bar"
$CMD
エラー:私はそれをエコーし、ファイルをソースの場合にも動作します
sed: -e expression #1, char 1: unknown command: `''
:
echo $CMD > file
source file
ここでは何が起きていますか、sedコマンドをBash変数から実行するにはどうすればよいですか?
両方を、しかし、文字列のバージョンは動作しませんなぜ私が興味?文字列のバージョンは、Bashの初心者には少し読みやすくなっています – jglouie
文字列変数にコマンドを格納し、後で実行すると、特に引用符が使用されているときに単語の分割が発生します。 – anubhava
FAQを追加しました。 – anubhava