0

概念が少し乱暴に聞こえることは知っていますが(?)、それでも-bashでパイプを作成するにはどうすればよいですか:

  1. 容量がありません
  2. したがって、メモリコピーは必要ありません。
  3. 書き込みがブロックされている必要があります
4

1 に答える 1

1

私はここで多くのことを推測しています。しかし、おそらくあなたはコプロセスについて考えていて、その用語が何を意味するのかを知らないでしょう.

bash はコプロセスをサポートします: http://www.gnu.org/software/bash/manual/html_node/Coprocesses.html

    The format for a coprocess is:

    coproc [NAME] command [redirections]

    This creates a coprocess named NAME. 
If NAME is not supplied, the default name is COPROC.

NAME must not be supplied if command is a simple command (see Simple Commands); 

otherwise, it is interpreted as the first word of the simple command.

coproc が実行されると、シェルは実行中のシェルのコンテキストで NAME という名前の配列変数 (配列を参照) を作成します。command の標準出力はパイプを介して実行中のシェルのファイル記述子に接続され、そのファイル記述子は NAME[0] に割り当てられます。

command の標準入力はパイプを介して実行中のシェルのファイル記述子に接続され、そのファイル記述子は NAME[1] に割り当てられます。

このパイプは、コマンドで指定されたリダイレクトの前に確立されます (リダイレクトを参照)。

ファイル記述子は、標準の単語展開を使用して、シェル コマンドおよびリダイレクトの引数として使用できます。

于 2013-02-24T00:15:02.063 に答える