回答:
あなたの仮定:
fortune | tee >(?stdout?) | pbcopy
fortune出力は標準出力に2回書き込まれるため機能しません。そのため、への出力を2倍にしますpbcopy。
OSX(および他のシステムサポート/dev/std{out,err,in})では、次のように確認できます。
$ echo 1 | tee /dev/stdout | sed 's/1/2/'
2
2
andの2代わりに2回出力します。12
他のファイル記述子を使用する必要があります。標準エラーの例/dev/stderr:
$ echo 1 | tee /dev/stderr | sed 's/1/2/'
1
2
またはtty、接続された疑似端末を取得するために使用します。
$ echo 1 | tee "$(tty)" | sed 's/1/2/'
1
2
オプションセットを使用するzshとmultios、次のことはまったく必要ありませんtee。
$ echo 1 >/dev/stderr | sed 's/1/2/'
1
2
tee $(tty)または、知っていますかtee /dev/tty
tee常に標準出力に書き込みます。標準出力がすでに行われている端末に加えてコマンドにデータを送信する場合は、そのコマンドでプロセス置換を使用します。(で始まるにもかかわらず>、プロセス置換は標準出力をリダイレクトせず、teeコマンドはそれをパラメーターと見なします。)
fortune | tee >(pbcopy)
fortune | tee $(tty) | pbcopyですか?