"FOO=bar.cpp meld a/$FOO b/$FOO" が期待どおりに動作するようにするにはどうすればよいですか?

"FOO=bar.cpp meld a/$FOO b/$FOO" が期待どおりに動作するようにするにはどうすればよいですか?

私が理解したところ、別のディレクトリにある同じファイルを比較するには、次のことができるはずです。

FOO=bar.cpp meld a/$FOO b/$FOO

しかし、動作しません。空$FOOの文字列と同じです。これは驚くべきことではありません。

(FOO=bar.cpp && meld a/$FOO b/$FOO)

私の質問は、最初の例がうまくいかない理由です。

答え1

存在する:

FOO=bar.cpp meld a/$FOO b/$FOO

それ簡単なコマンドそのため、FOO=bar.cpp拡張中は実行されません。$FOO

存在する:

FOO=bar.cpp && meld a/$FOO b/$FOO

2つのコマンドがあります。

FOO=bar.cpp

そして:

meld a/$FOO b/$FOO

でパラメータ置換を実行すると、meld a/$FOO b/$FOOFOO=bar.cpp行われるため、がFOOに設定されますbar.cpp

関連情報