Я использую рыбную раковину в системе Ubuntu. Этот вопрос касается избыточности в $PATH
, которую я устанавливаю непреднамеренно.
Когда я печатаю echo $PATH
, я получаю:
/ opt / anaconda3 / bin / /opt/anaconda3/etc/fish/conf.d/ / opt / anaconda3 / bin / /opt/anaconda3/etc/fish/conf.d/ / usr / local / sbin / usr / local / bin / usr / sbin / usr / bin / sbin / bin / usr / games / usr / local / games.
Множество неприятностей с этим: / opt / anaconda3 / bin появляется дважды, показывая некоторые несуществующие каталоги: / usr / local / games /usr/games.
Мой / etc / login.defs читает:
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin
Так что избыточность не приходит оттуда. Конечно, мой PATH в config.fish установлен как:
set -gx PATH /opt/anaconda3/bin/ (/opt/anaconda3/bin/conda info --root)/etc/fish/conf.d/ $PATH .
Мой вопрос: откуда рыба получает PATH , кроме того, что установлено в моей среде и что ему передается: / etc / login.defs ?
ОБНОВЛЕНИЕ: я изменил на использование переменной fish_user_paths, согласно документации, которая дважды удаляла / opt / anaconda3 / bin. Тем не менее / usr / games / и / usr / local / games добавляются автоматически (и эти каталоги не существуют в моей системе!).