Spec-Zone.ru › Fish 3.3

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.

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

Spec-Zone.ru

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