Ваше предположение:
fortune | tee >(?stdout?) | pbcopy
не будет работать, потому что вывод fortune
будет записан в standard out дважды, поэтому вы удвоите вывод в 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
Это функция автозаполнения iTerm2 , которая активируется нажатием Command + ; .
Чтобы избежать гниения ссылок, функция описывается следующим образом.
Autocomplete
Commands in command history are also added to Autocomplete (Cmd-;). If Preferences>General>Save copy/paste history and command history to disk is enabled, then command history will be preserved across runs of iTerm2 (up to 200 commands per user/hostname).
Дополнительно...
Command Completion
iTerm2 will present command completion suggestions automatically when View>Auto Command Completion is selected.