从 `$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:/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"以构成文字。“”是空替换。

相关内容