シェルセッションにはいくつのSTDINがありますか?

シェルセッションにはいくつのSTDINがありますか?

私はジュニアJava開発者であり、UNIXシステムに初めてアクセスします。

私が質問するのが正しいかどうかわかりません。

したがって、IDE環境では、STDINは通常IDEのコンソールを表します。

UNIXシェルでは、STDINはコマンドラインプロンプトを参照しているようです。

もしそうなら、シェルセッションにはいくつのSTDINがありますか?

シェルプロンプトに加えて、他の入力ストリームはありますか? (非標準入出力と同様)

ベストアンサー1

別の観点から考えてみてください。

すべてプロセスファイル記述子がたくさんあります。通常、最初の3つはstdin、stdout、stderrです。

プロセスを実行するとき、これらの記述子を別の場所に「指定」することができます。

IDE でシェルを実行すると、IDE はこれらのシェルを IDE が提供するコンソールとして指定します。

xterm 内でシェルを実行すると、xterm はこれらのシェルを xterm が提供するウィンドウ/キーボードの相互作用を指します。

シリアルポート(組み込みシステムで一般的)を介してシェルを実行すると、これらのポートはシリアルポートを指します。

シェルからシェルを実行してリダイレクトすると、ファイルをポイントできます。

同様に、シェルで別のプロセス(プログラム)を実行するときに、そのプログラムのstdinとstdoutを、たとえばを介して>リダイレクトできます<

「STDINはコマンドラインプロンプトを意味します。」シェルプロセス自体には、シェルが呼び出されたときに設定されたすべてを参照するこれらの記述子があり、シェルはこれらの記述子をシェルで開始された他のプログラムに継承することができます(またはそのプログラムに別の記述子を使用できます)。

おすすめ記事