Spec-Zone.ru › Fish 3.3

fish_add_path - добавление в путь

Синопсис

fish_add_path [paths...]
fish_add_path (-h | --help)
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).

Его (по умолчанию) безопасно использовать в 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 для использования без её выполнения

Если используется --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

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

Spec-Zone.ru

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