2015-09-26 69 views
0

我很努力地完全理解我的操作系统上的路径设置。我确保总是有我需要在.bashrc中设置的内容,但是当我运行echo $PATH时,我得到很多东西和重复,我不想要部分路径。它从哪里得到这个信息,我如何清理那里的所有内容,只反映我在.bashrc中的内容。这也导致我的系统读取一个我不想找到的二进制文件,因为它位于echo $PATH。这里是我的echo $PATH完整的结果:

PATH=/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/ebs/anaconda3/bin:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin:/usr/local/bin:/usr/bin:/usr/local/maven/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:/ebs/spark1.5/bin:/usr/local/rvm/gems/ruby-1.9.3-p551/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p551/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin 

,这里是什么,我在我的.bashrc:

export SBT_HOME=/usr/local/sbt 
export R_HOME=/usr/local/R-3.1.2 
export JAVA_HOME=/opt/jdk1.8.0_60 
export JRE_HOME=/opt/jdk1.8.0_60/jre 
export M2_HOME=/usr/local/maven 
export SPARK_HOME=/ebs/spark1.5 
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:/usr/local/bin:/usr/bin:${M2_HOME}/bin:/ebs/wfx-etl/scripts:/ebs/config:/usr/local/go/bin:${SPARK_HOME}/bin:$PATH 
export PATH=/ebs/anaconda3/bin:$PATH 
export PGPASSFILE=$HOME/.pgpass.conf 
export EDITOR=vim 
+3

你能分享你在做什么的'.bashrc'? – Mureinik

回答

1

您可以完全覆盖在你的.bashrc这样的:

export PATH=/foo/bar:/baz/quux 

用你喜欢的任何路径代替,但建议如果你错过了/bin/usr/bin你会后悔的。

+0

这不是一个好主意。您的系统管理员可能在您的外壳在启动时继承的'PATH'上有目录,您不应该删除它。 – chepner

+0

我在问题中添加了我当前的bashrc。所以我的印象是,我已经在我的bashrc中使用了export语句,并假设它会覆盖所有内容。仍然不知道'echo $ PATH'中的所有内容来自哪里。 – horatio1701d

0

这是设置所有路径的Java delevopment工具包(jdk)。 我想这很有用。 python中也有anaconda 3。

,或者你可以午餐env -i您的bash/zsh来设定一个空的环境

env -i bash 

env -i zsh