Sua suposição:
fortune | tee >(?stdout?) | pbcopy
não funcionará porque a saída fortune será gravada como padrão duas vezes, então você duplicará a saída para pbcopy .
No OSX (e outros sistemas suportam /dev/std{out,err,in} ), você pode verificar:
$ echo 1 | tee /dev/stdout | sed 's/1/2/'
2
2
saída 2 duas vezes em vez de 1 e 2 .
Você deve usar outros descritores de arquivo, por exemplo, erro padrão até /dev/stderr :
$ echo 1 | tee /dev/stderr | sed 's/1/2/'
1
2
ou use tty para obter o pseudo-terminal conectado:
$ echo 1 | tee "$(tty)" | sed 's/1/2/'
1
2
Com a opção zsh e multios definida, você não precisa de tee :
$ echo 1 >/dev/stderr | sed 's/1/2/'
1
2