Как найти источник для строки в $ PATH?

В моей переменной $ PATH есть строка, которая недействительна, и я хочу удалить ее, но я не уверен, откуда она. Он не устанавливается в .bashrc, .profile или /etc/environment.

Есть ли способ выяснить его источник? Спасибо!

2
задан 15 March 2012 в 23:50

3 ответа

Я был разочарован раздутым ~ / .bashrc, который установлен! я удалил его и сделал минимальную версию, которая устанавливает PATH и псевдонимы ls, все остальное, что мне не нужно. Может быть, вы хотите начать с нуля?

0
ответ дан 15 March 2012 в 23:50

/ etc / environment должен установить значения по умолчанию для переменной PATH. Я рекомендую посмотреть, возможно, этот файл был изменен в вашей системе. Обходным путем может быть сброс переменной PATH и ее «сброс» при каждом входе в систему.

0
ответ дан 15 March 2012 в 23:50

Переменные среды должны быть установлены либо в /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
0
ответ дан 15 March 2012 в 23:50

Другие вопросы по тегам:

Похожие вопросы: