<(команда) - подстановка процесса. По сути, он создает специальный тип файла, называемый «именованный канал», а затем перенаправляет вывод команды в именованный канал. Например, предположим, что вы хотите просмотреть список файлов в очень большом каталоге. Вы могли бы сделать это: </p>
ls /usr/bin | more
Или это:
more <( ls /usr/bin )
Но НЕ это:
more $( ls /usr/bin )
Причина этого становится ясной, если вы продолжите расследование:
~$ echo $( ls /tmp )
gedit.maxtothemax.436748151 keyring-e0fuHW mintUpdate orbit-gdm orbit-maxtothemax plugtmp pulse-DE9F3Ei96ibD pulse-PKdhtXMmr18n ssh-wKHyBU1713 virtual-maxtothemax.yeF3Jo
~$ echo <( ls /tmp )
/dev/fd/63
~$ cat <( ls /tmp )
gedit.maxtothemax.436748151
keyring-e0fuHW
mintUpdate
orbit-gdm
orbit-maxtothemax
plugtmp
pulse-DE9F3Ei96ibD
pulse-PKdhtXMmr18n
ssh-wKHyBU1713
virtual-maxtothemax.yeF3Jo
/ dev / fd / что угодно действует как текстовый файл с выводом команды в скобках.