Я хочу удалить ~/bin
из моего PATH. Я установил его несколько месяцев назад, когда Linux (Ubuntu) был для меня совсем новым, но я не знаю, как я его добавил ...
Ничего не появляется, когда я ищу все файлы, перечисленные ниже.
Где еще это может быть установлено? Он префиксируется после $HOME/.profile
префиксов PATH с$HOME/bin
Если это имеет какое-то значение, я получаю один и тот же PATH как из командной строки, так и из запущенного сценария.
#!/bin/bash
{
echo "first dir of PATH is: '${PATH%%:*}'"
shopt -s nullglob
cat \
/etc/profile \
/etc/bash.bashrc \
/etc/profile.d/*.sh \
$HOME/.bashrc \
$HOME/.bash_aliases \
/etc/bash_completion \
$HOME/.bash_completion* \
$HOME/.profile \
$HOME/.profile_zap \
$HOME/.bash_profile* \
$HOME/.bash_login* \
| sed -rne '/~\/bin/p'
}
Выход:
first dir of PATH is: '~/bin'
bash
environment-variables
path
Peter.O
источник
источник
PATH
вместо этого поискать . Если вам все еще не повезло, проверьте все файлы на предмет наличия источников.~/.gnomerc
...Ответы:
Вы можете отслеживать полную загрузку среды при входе в систему. Просто идея.
Так как / etc / profile является первым источником файла, вы можете добавить к нему в самом верху:
Затем откройте новый терминал и сделайте
bash -l
; после этого перейдите к исходному терминалу и удалите добавленные строки (вы хотите иметь рабочую среду, не так ли?).Вы должны закончить с полным следом всех шагов загрузки_the_bash_environment в /tmp/debug.log. Это будет долгожданный файл.
При этом вы должны быть в состоянии определить, где «~ / bin» попадает в ваш PATH
Я бы сначала посмотрел grep всех файлов, полученных. Из вашего поста, я уверен, что ~ / bin в пути указан в другом файле из тех, что вы перечислили.
источник
konsole
) ... Первая ссылка на~/bin
это показывает, что уже в путь, но я не вижу никаких намеков на то, откуда он взялся .. На этом этапе уже следовал знак$HOME/bin
from$HOME/.profile
(я уверен, что он оттуда, поскольку я использовал специальный дополнительный каталог для этого теста). ... Но мне удалось найти его эмпирически, выполнив поиск по всем моим текстовым файлам ... Он получен~/.gnomerc
... и мне нужно повторно войти в систему, чтобы изменить его. ?? !! ..bash -l
? Он должен отправить отладку (-x), которая идет в stderr, в /tmp/debug.log; действительно, я только что проверил это и работает, как я ожидалset
сexec
на второй линии, то она работала отлично для меня :)