我搜索了论坛,试图找到一种方法来摆脱路径中的一些默认项目,但无济于事。以下是它现在给出的结果:
/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
答案1
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"
答案2
更改~/.bashrc
将适用于每个新 shell。
编辑~/.bashrc
并添加以下两行:
PATH=${PATH/":/usr/games"/""}
PATH=${PATH/":/usr/local/games"/""}
解释:
${variable/find/replacement}
在这种表达式中,/
分隔变量、要查找的字符串和要用作替换的字符串。在实际应用中,UNIX 路径分隔符/
将被解释,因此需要将字符串括起来":/usr/games"
以构成文字。“”是空替换。