Ваше предположение:
fortune | tee >(?stdout?) | pbcopy
не будет работать, потому что fortuneвывод будет записан в стандартный формат дважды, поэтому вы удвоите вывод до pbcopy.
В OSX (и других системах поддержки /dev/std{out,err,in}) вы можете проверить это:
$ echo 1 | tee /dev/stdout | sed 's/1/2/'
2
2
выведите 2дважды вместо 1и 2.
Вы должны использовать другие файловые дескрипторы, например стандартную ошибку через /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
fortune | tee $(tty) | pbcopy?