問題タブ [process-substitution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
101 参照

bash - How do these process substitutions work?

Can someone please explain how these process substitutions are working.

Output

1:2:3:YES:three:two:first

I've figured out, that the 'ssstr'-Substitution got FD 60, sstr FD 61 and str FD 62. (right to left)

But how is (echo "YES") connected to input of FD60, and output of FD60 with input FD61 and so on and finally FD62 prints out on Terminal ?

All against the direction of the two redirections.

How are they nested, and how connected ? Makes me crazy. Ty.

0 投票する
0 に答える
176 参照

bash - pv によるプロセス置換の結果、空のファイルが生成される

Bash プロセス置換pvを使用してコマンドを操作する際に問題が発生しています。tar

私はこのように使うことができpv、それは動作します:

プロセス置換を次のように使用することcatもできます:

しかし、このコマンドの結果は空になりますfile.tar:

私もtar cvf >(pv - > file.tar) dir同じ結果で試しました。

私の目標は、pv進行状況を出力し、出力tar(つまり、ファイルとエラーのリスト) を他のコマンドにパイプして、追加の処理を行うことです。上記の最初のコマンド例では、2 つの出力ストリームのみが生成されます。stdoutバイナリ tar データがstderr含まれ、ファイルのリストとエラー メッセージの両方が含まれます。プロセス置換を使用すると、3 つの出力ストリームが生成されます。バイナリ tar データは新しいプロセスに送られ、stdoutファイルのリストがstderr含まれ、エラー メッセージが含まれます。

コマンドを Bash プロセス置換で使用できますpvか?

と を使用pv 1.6.0してGNU bash, version 4.3.46(1)-releaseいます。

興味深いことに、strace試してデバッグするために使用すると、次pvのように機能します。

0 投票する
2 に答える
639 参照

bash - 期待される出力が欠落している grep へのプロセス置換

出力するプログラムがあるとしましょう:

でシミュレートしprintf 'abcd\nl33t\n1234\n'ます。この出力を2つのプログラムに同時に提供したいと思います。私の考えは、でプロセス置換を使用することteeです。出力のコピーを に渡したいとしましょうgrep:

Bash 4.1.2 (Linux、CentOS 6.5) で次の結果が得られますが、これは問題ありません。

しかし、プロセス置換がstderr にリダイレクトされない>&2場合 (つまり、なし)、次のようになります。

それから私は得る:

これは、プロセス置換 (最初の grep) からの stdout が、パイプ (2 番目の grep) の後のプロセスによって使用されるようなものです。2番目のgrepがすでにそれ自体で物事を読んでいることを除いて、最初のgrepからのものを考慮に入れることは想定されていないと思います。私が間違っていない限り(間違いなくそうです)。

私は何が欠けていますか?