функции - функции печати или удаления
Синопсис
functions [ -a | --all ] [ -n | --names ] functions [ -D | --details ] [ -v ] FUNCTION functions -c OLDNAME NEWNAME functions -d DESCRIPTION FUNCTION functions [ -e | -q ] FUNCTIONS...
Описание
functions печатает или удаляет функции.
Доступны следующие параметры:
-
-aили--allотображает все функции, даже те, имена которых начинаются с подчёркивания. -
-c OLDNAME NEWNAMEили--copy OLDNAME NEWNAMEсоздаёт новую функцию с именем NEWNAME, используя определение функции OLDNAME. -
-d DESCRIPTIONили--description=DESCRIPTIONизменяет описание этой функции. -
-eили--eraseприводит к удалению указанных функций. Это также означает, что функция запрещена для автозагрузки. -
-Dили--detailsсообщает имя пути, где определена или могла бы быть загружена указанная функция,stdinесли функция была определена интерактивно или в командной строке или путём чтения stdin,-если функция была создана через source, иn/aесли функция недоступна. (Функции, созданные через alias, вернут-, потому чтоaliasиспользуетsourceвнутри). Если также указан параметр--verbose, то выводятся пять строк:- путь, как описано выше,
-
autoloaded,not-autoloadedилиn/a, - номер строки в файле или ноль, если не применимо,
-
scope-shadowingесли функция затеняет переменные в вызывающей функции (обычный случай, если она не была определена с помощью--no-scope-shadowing), иначеno-scope-shadowing, илиn/aесли функция не определена, - описание функции, минимально экранированное, чтобы быть одной строкой, или
n/aесли функция не определена.
Не следует предполагать, что будет выведено только пять строк, так как в будущем мы можем добавить дополнительную информацию в вывод.
-
-nили--namesперечисляет имена всех определённых функций. -
-qили--queryпроверяет, существуют ли указанные функции. -
-vили--verboseсделает вывод более подробным. -
-Hили--handlersотобразит все обработчики событий. -
-tили--handlers-type TYPEотобразит все обработчики событий, соответствующие заданному типу.
По умолчанию functions, при вызове без аргументов, печатает имена всех определённых функций. Если не указан параметр -a, в вывод не включаются функции, начинающиеся с подчёркивания.
Если указаны какие-либо параметры, не являющиеся опциями, выводится определение указанных функций.
Автоматически загруженные функции не могут быть удалены с помощью functions -e. Для удаления автозагруженных функций удалите файл определения или измените переменную $fish_function_path.
Копирование функции с помощью -c копирует только тело функции и не прикрепляет никакие уведомления о событиях от исходной функции.
В одном вызове functions -d можно изменить описание только одной функции.
Кодовое значение выхода functions равно количеству указанных в аргументах функций, которые не существуют. Это значение может быть использовано совместно с параметром -q.
Примеры
functions -n # Displays a list of currently-defined functions functions -c foo bar # Copies the 'foo' function to a new function called 'bar' functions -e bar # Erases the function ``bar``
© 2020 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.2/cmds/functions.html