Spec-Zone.ru › Fish 3.2

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.

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

Spec-Zone.ru

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