場合によっては、プログラム(例A
)がフォアグラウンドで実行され、その出力をstdoutとして印刷するときに別のコマンド(例:)を入力すると、そのコマンドを押すと実行されます。B
その時点からEnter入力するように求められず、B
A
まだ実行されていません。 tcshシェルでこれを行うことができ、最終結果B
はA
。
この機能を何と呼びますか?このシェルに固有のものはありますか?プロンプトでコマンドを入力しないとどうなりますか?
ベストアンサー1
これは…事前に入力してください、これはシェルに限定されない。入力した内容は最終的に端末にバッファリングされ、次に端末で実行中のプログラムが入力準備ができたらバッファに待機している内容を読み込みます。あなたの例では、プログラムはシェルなので、A
入力する前に完了するのを待つように入力したコマンドを実行します。
一部のプログラムは、入力を受け入れる前に明示的にバッファをクリアします。たとえば、パスワードを要求するほとんどのプログラムは、ユーザーが入力した内容を知るためにバッファを消去します(入力がエコーされないため)。