Я копался в форумах, пытаясь найти способ избавиться от некоторых предметов по умолчанию на моем пути, но безрезультатно. Вот что он дает прямо сейчас:
/home/blaine/.rvm/gems/ruby-2.0.0-p247/bin:/home/blaine/.rvm/gems/ruby-2.0.0-p247@global/bin:/home/blaine/.rvm/rubies/ruby-2.0.0-p247/bin:/home/blaine/.rvm/bin:/home/blaine/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
И оскорбительные элементы - это те, у которых games
в них:
:/usr/games:/usr/local/games
ни один из которых я не использую, но это действительно не суть моего вопроса. Я хочу избавиться от этих предметов (и знать, как сделать то же самое в будущем), но я не могу найти, где устанавливаются эти значения по умолчанию. Там нет упоминания о PATH
, когда я grep эти файлы:
/etc/profile
/etc/profile.d/*
~/.bashrc
~/.bash_profile
Я использую Ubuntu 13.04
PATH устанавливается в файле /etc/environment
, но если вы хотите удалить из него некоторые элементы, лучше сделать это в файле ~/.bashrc
. Итак, если вы хотите удалить каталоги /usr/games
и /usr/local/games
, снова установите PATH следующим образом:
PATH="/home/blaine/.rvm/gems/ruby-2.0.0-p247/bin:/home/blaine/.rvm/gems/ruby-2.0.0-p247@global/bin:/home/blaine/.rvm/rubies/ruby-2.0.0-p247/bin:/home/blaine/.rvm/bin:/home/blaine/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Изменения в ~/.bashrc
будут применяться к каждой новой оболочке.
Отредактируйте ~/.bashrc
и добавьте эти две строки:
PATH=${PATH/":/usr/games"/""}
PATH=${PATH/":/usr/local/games"/""}
Объяснение:
${variable/find/replacement}
В выражении такого типа /
отделяет переменную, строку найти и строку для использования в качестве замены. В реальном приложении разделитель пути UNIX /
будет интерпретирован, поэтому для создания литерала необходимо заключить в кавычку строку ":/usr/games"
. «» - пустая замена.