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