.bash_profile和$ PATH //我安装了两次并且是两行(导出......如果......)冗余吗?

时间:2015-04-28 12:41:15

标签: bash path

我刚刚开始学习编程并对我的问题有疑问 分别为.bash_profile$PATH

我的.bash_profile看起来像这样:

export PATH="/usr/local/bin:$PATH" 
export PATH="/usr/local/bin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

当我在终端中查找$PATH时,我明白了:

-bash: /Users/Marc/.rbenv/shims:/Users/Marc/.rbenv/shims:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin: No such file or directory

不应该只是一个" export"和一个"如果"我.bash_profile中的一行 - 我可以在.bash_profile中删除一行吗?

我的理由是第二个"出口"第二个"如果"线是多余的,因为它做同样的 - 或者我错了?

很抱歉,如果答案可能很明显,因为我是新人并且根本不确定,我希望有人可以帮助我。

背景信息:我使用Homebrew安装rbenv和ruby-build(安装了Ruby,Bundler和RSpec)

1 个答案:

答案 0 :(得分:0)

你认为重复的行是多余的是正确的。您应该删除重复的行,并在下次登录时,您可以通过运行

来检查PATH的内容
echo $PATH

在我遇到的每种编程/脚本语言中,重复的行都是多余的(并且可能是有害的),尽管可能存在一些不太适用的深奥语言。

在相关说明:,因为您正在学习编程,您应该尝试遵循DRY principle。如果您发现自己重复了一段代码,通常会有更好的(重新)构建代码的方法。