> リダイレクトの書き方でファイルディスクリプタを開くと
> 開くタイミングがわかりづらい

めっちゃ分かる。いや、たぶん貴兄のほうが遥か上級者なので共感するのも烏滸がましいけれどもw

ファイル記述子はあくまでファイル記述子であってファイルじゃないってことを頭に入れておかないと
$ somecmd > /dev/null 2>&1

$ somecmd 2>&1 > /dev/null
って書いてしまうw