内部および外部コマンドの代替リダイレクト

内部および外部コマンドの代替リダイレクト

コマンド置換の外部の次のリダイレクトがstderrへの出力を抑制しないのはなぜですか?

OLD_DATE=$(date --date"three days ago")  2> /dev/null

そして、コマンド置換でリダイレクトを使用することは、次のことができます。

OLD_DATE=$(date --date"three days ago" 2> /dev/null)

ベストアンサー1

なぜならリダイレクトが適用されます。割り当て後のコマンド。たとえば、次のコマンドを使用すると、同じ結果が表示されます。

OLD_DATE=$(date --date"three days ago") true 2> /dev/null

これは割り当てなしの同じコマンドです。

2> /dev/null

(はい、これは有効なコマンドラインです。)

おすすめ記事