3>&2と3<&2を比較しますか?

3>&2と3<&2を比較しますか?

リダイレクト3>&2と3<&2は違いますか?

違いは何ですか?

23>&2で入力が開かなかったため、エラーが発生する必要がありますか?

比較する:

{ seq 20 1<&2; } 2>/dev/null

{ seq 20 1>&2; } 2>/dev/null

編集:答え

どちらのコマンドも1と2の同じ反復を実行します。出力:

$ strace -f -e trace=dup,dup2 -o o2 sh -c 'seq 20 1>&2'

両方のコマンドは同じです(PID番号を除く)。

ベストアンサー1

dup2(2, 3)いいえ、両方はまったく同じです。シェルは最終的3>&2にと3<&2。その後、fdは3最終的に同じことを指します。ファイル説明を開くfd2と同じです。モード/方向には影響しません。ファイル説明を開く。開いたファイル記述のモード/方向を変更できません。

x>&yと演算子はx<&y省略された場合にのみ異なります。 (同じ)ですが(同じ)です。x>&y1>&y1<&y<&y0<&y0>&y

おすすめ記事