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 к имени файла.
- -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.
© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/psub.html