psub — выполнение подстановки процесса
Синтаксис
COMMAND1 ( COMMAND2 | psub [-F | --fifo] [-f | --file] [-s SUFFIX])
Описание
Некоторые оболочки (например, ksh, bash) имеют синтаксис, являющийся смесью подстановки команд и конвейера, называемый подстановкой процесса. Он используется для передачи вывода команды вызывающей команде, подобно подстановке команд, но с отличием, что вывод не передаётся через аргументы командной строки, а через именованную трубу, при этом имя именованной трубы передаётся в качестве аргумента вызываемой программе. psub в сочетании с обычной подстановкой команд обеспечивает ту же функциональность.
Доступны следующие параметры:
-
-fили--fileзаставят psub использовать обычный файл вместо именованной трубы для связи с вызывающим процессом. Это приведёт к значительно более низкой скоростиpsubпри больших объёмах данных, но имеет преимущество, что процесс чтения может осуществлять поиск в потоке. Это значение по умолчанию. -
-Fили--fifoзаставят psub использовать именованную трубу вместо файла. Вы должны использовать этот параметр только в том случае, если команда генерирует не более 8 КБ вывода. Ограничение на буферизацию данных FIFO варьируется в зависимости от ОС, но обычно составляет 8 КБ, 16 КБ или 64 КБ. Если вы используете этот параметр, а команда слева от конвейера psub генерирует больше вывода, вероятно возникнет тупиковая ситуация. -
-sили--suffixдобавит SUFFIX к имени файла.
Пример
diff (sort a.txt | psub) (sort b.txt | psub) # shows the difference between the sorted versions of files ``a.txt`` and ``b.txt``. source-highlight -f esc (cpp main.c | psub -f -s .c) # highlights ``main.c`` after preprocessing as a C source.
© 2021 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.3/cmds/psub.html