Spec-Zone.ru › Fish 3.7

source — оценка содержимого файла

Синопсис

source FILE [ARGUMENTS ...]
SOMECOMMAND | source

Описание

source оценивает команды из указанного файла FILE в текущей оболочке как новый блок кода. Это отличается от запуска нового процесса для выполнения команд (т. е. fish < FILE) поскольку команды будут оцениваться текущей оболочкой, что означает, что изменения переменных оболочки повлияют на текущую оболочку. Если после имени файла указаны дополнительные аргументы, они будут вставлены в переменную argv. Переменная argv не будет включать имя файла, который был вызван.

fish будет искать в рабочей директории для разрешения относительных путей, но не будет искать в PATH.

Если файл не указан и стандартный ввод не является терминалом, или если имя файла - используется, будет прочитан стандартный ввод.

Код выхода source — это код выхода последней задачи для выполнения. Если при открытии или чтении файла что-то пойдёт не так, source завершается с ненулевым кодом выхода.

. (один символ точки) — алиас для команды source. Использование . устарело в пользу source, и . будет удалено в будущих версиях fish.

source создаёт новую локальную область видимости; set --local внутри вызванного блока не повлияет на переменные в окружающем пространстве.

Опция -h или --help отображает справку по использованию этой команды.

Пример

source ~/.config/fish/config.fish
# Causes fish to re-read its initialization file.

Ограничения

В версиях fish до 2.3.0 переменная argv имела бы один элемент (имя вызванного файла), если аргументы отсутствуют. В противном случае она содержала бы аргументы без имени вызванного файла. Это поведение было очень запутанным и отличалось от других оболочек, таких как bash и zsh.

© 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/source.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API