エリヤが言うように、ベストプラクティスはfish_user_paths
グローバルではなくを修正することPATH
です。これをもう一度グーグルにする必要を避けるために...
- 変更のみを行う関数をいくつか作成します
fish_user_paths
- 両方の機能を自動ロードする
ユーザーパスに追加するには:
function addpaths
contains -- $argv $fish_user_paths
or set -U fish_user_paths $fish_user_paths $argv
echo "Updated PATH: $PATH"
end
ユーザーパス が存在する場合に削除するには(これに対する部分的なクレジット):
function removepath
if set -l index (contains -i $argv[1] $PATH)
set --erase --universal fish_user_paths[$index]
echo "Updated PATH: $PATH"
else
echo "$argv[1] not found in PATH: $PATH"
end
end
そしてもちろん、それらを自動ロードさせるには:
funcsave addpaths; funcsave removepath
使用例:
> addpaths /etc /usr/libexec
Modifying PATH: /usr/local/bin /usr/bin /bin /usr/sbin /sbin
Updated PATH: /etc /usr/libexec /usr/local/bin /usr/bin /bin /usr/sbin /sbin
> removepath /usr/libexec
Modifying PATH: /etc /usr/libexec /usr/local/bin /usr/bin /bin /usr/sbin /sbin
Updated PATH: /etc /usr/local/bin /usr/bin /bin /usr/sbin /sbin
grep -R /usr/lib/x86_64-linux-gnu/libfm ~/.config/fish /usr/share/fish
?