Spec-Zone.ru › Fish 3.1

source - вычисление содержимого файла.

Краткое описание

source FILENAME [ARGUMENTS...]
somecommand | source

Описание

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

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

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

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

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

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

Пример

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

Ограничения

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

© 2019 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.1/cmds/source.html

Spec-Zone.ru

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