В моей переменной $ PATH есть строка, которая недействительна, и я хочу удалить ее, но я не уверен, откуда она. Он не устанавливается в .bashrc
, .profile
или /etc/environment
.
Есть ли способ выяснить его источник? Спасибо!
Я был разочарован раздутым ~ / .bashrc, который установлен! я удалил его и сделал минимальную версию, которая устанавливает PATH и псевдонимы ls, все остальное, что мне не нужно. Может быть, вы хотите начать с нуля?
/ etc / environment должен установить значения по умолчанию для переменной PATH. Я рекомендую посмотреть, возможно, этот файл был изменен в вашей системе. Обходным путем может быть сброс переменной PATH и ее «сброс» при каждом входе в систему.
Переменные среды должны быть установлены либо в /etc/environment
, либо в /etc/profile
, либо в их эквивалентных файлах для каждого пользователя ~/.pam_environment
или ~/.profile
. Поскольку вы проверили /etc/environment
и ~/.profile
, отметьте /etc/profile
(и обратите внимание, что он получает файлы в /etc/profile.d/
). Там нет ~/.pam_environment
по умолчанию.
Если плохая переменная PATH устанавливается bash, вы можете запустить bash в качестве интерактивной оболочки входа в систему с включенной функцией xtrace, bash -xil
, чтобы помочь точно определить место, где это происходит.
РЕДАКТИРОВАТЬ: с более полезным выходом и с меньшим количеством каналов:
PS4='+ $BASH_SOURCE:$LINENO: ' bash -xilc '' 2>&1 | less