コマンド置換の外部の次のリダイレクトが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
(はい、これは有効なコマンドラインです。)