fish_add_path - добавление в путь
Синтаксис
fish_add_path path ... fish_add_path [(-g | --global) | (-U | --universal) | (-P | --path)] [(-m | --move)] [(-a | --append) | (-p | --prepend)] [(-v | --verbose) | (-n | --dry-run)] PATHS ...
Описание
fish_add_path — простой способ добавить дополнительные компоненты в PATH оболочки fish. Это делается путём добавления компонентов либо в $fish_user_paths, либо непосредственно в $PATH (если используется переключатель --path).
Использование fish_add_path в файле конфигурации config.fish (по умолчанию) безопасно, либо его можно использовать интерактивно один раз, и пути будут сохраняться в дальнейшем благодаря универсальным переменным. Если требуется больший контроль, рекомендуется непосредственно изменять переменную.
Компоненты нормализуются с помощью команды realpath. Конечные слэши игнорируются, а относительные пути приводятся к абсолютному виду (но ссылки на символы не разрешаются). Если компонент уже существует, он не добавляется повторно, и остаётся на том же месте, если только не задан переключатель --move.
Компоненты добавляются в порядке их указания, и добавляются в начало пути, если не задан параметр --append. (Если используется $fish_user_paths, это означает, что они будут добавлены в конец $fish_user_paths, который сам по себе добавляется в начало $PATH, так что они всё равно будут перед системными путями).
Если ни один компонент не является новым, то переменная (fish_user_paths или $PATH) не устанавливается заново и не изменяется каким-либо другим способом, поэтому обработчики переменных не вызываются.
Если компонент не является существующей директорией, fish_add_path его игнорирует.
Опции
- -a или --append
-
Добавляет компоненты в конец переменной.
- -p или --prepend
-
Добавляет компоненты в начало переменной (по умолчанию).
- -g или --global
-
Использует глобальную переменную
fish_user_paths. - -U или --universal
-
Использует универсальную переменную
fish_user_paths— по умолчанию, если она не существует. - -P или --path
-
Непосредственно изменяет
PATH. - -m или --move
-
Перемещает уже существующие компоненты в место, куда они должны быть добавлены — по умолчанию они остаются на месте и не добавляются повторно.
- -v или --verbose
-
Выводит используемую команду set.
- -n или --dry-run
-
Выводит команду
set, которая будет использована, но не выполняется. - -h или --help
-
Отображает справку по использованию данной команды.
Если используется --move, это может привести к изменению порядка элементов пути, поэтому следует быть осторожным при использовании в файле конфигурации config.fish.
Пример
# I just installed mycoolthing and need to add it to the path to use it. > fish_add_path /opt/mycoolthing/bin # I want my ~/.local/bin to be checked first. > fish_add_path -m ~/.local/bin # I prefer using a global fish_user_paths > fish_add_path -g ~/.local/bin ~/.otherbin /usr/local/sbin # I want to append to the entire $PATH because this directory contains fallbacks > fish_add_path -aP /opt/fallback/bin # I want to add the bin/ directory of my current $PWD (say /home/nemo/) > fish_add_path -v bin/ set fish_user_paths /home/nemo/bin /usr/bin /home/nemo/.local/bin # I have installed ruby via homebrew > fish_add_path /usr/local/opt/ruby/bin
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.5/cmds/fish_add_path.html