問題タブ [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.
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.
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
のように機能します。
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からのものを考慮に入れることは想定されていないと思います。私が間違っていない限り(間違いなくそうです)。
私は何が欠けていますか?