source - вычисление содержимого файла
Краткое описание
source FILE [ARGUMENTS ...] SOMECOMMAND | source
Описание
source вычисляет команды указанного файла FILE в текущей оболочке как новый блок кода. Это отличается от запуска нового процесса для выполнения команд (т. е. fish < FILE) так как команды будут вычислены текущей оболочкой, что означает, что изменения в переменных оболочки повлияют на текущую оболочку. Если после имени файла указаны дополнительные аргументы, они будут вставлены в переменную argv. Переменная argv не будет включать имя исходного файла.
fish будет искать в рабочей директории, чтобы разрешить относительные пути, но не будет искать в PATH.
Если файл не указан и stdin не является терминалом, или если используется имя файла -, будет считано stdin.
Код возврата 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.
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/source.html