psub - выполнение подстановки процесса
Синтаксис
COMMAND1 ( COMMAND2 | psub [-F | --fifo] [-f | --file] [(-s | --suffix) SUFFIX] )
Описание
Некоторые оболочки (например, ksh, bash) имеют синтаксис, который является смесью подстановки команд и конвейера, называемый подстановкой процесса. Он используется для передачи вывода команды вызывающей команде, очень похоже на подстановку команды, но с тем отличием, что вывод не передается через аргументы командной строки, а через именованную трубу, а имя именованной трубы передается в качестве аргумента вызываемой программе. psub в сочетании с обычной подстановкой команды обеспечивает ту же функциональность.
Доступны следующие параметры:
- -f или --file
-
Использовать обычный файл вместо именованной трубы для связи с вызывающим процессом. Это приведет к тому, что
psubбудет значительно медленнее при больших объёмах данных, но имеет преимущество, что процесс чтения может искать в потоке. Это значение по умолчанию. - -F или --fifo
-
Использовать именованную трубу вместо файла. Вы должны использовать это только в том случае, если команда не генерирует более 8 КБ вывода. Ограничение на объём буферизации данных FIFO зависит от ОС, но обычно составляет 8 КБ, 16 КБ или 64 КБ. Если вы используете этот параметр, а команда слева от конвейера psub генерирует больше вывода, скорее всего, произойдёт тупиковая ситуация.
- -s или --suffix SUFFIX
-
Добавить SUFFIX к имени файла.
- -h или --help
-
Отображает справку по использованию этой команды.
Пример
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.
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/psub.html