如果已经初始化,通过shell重新初始化rbenv

问题描述:

我确信我说错了这个问题。所以,让我解释我的问题,并且有人可以为我编辑它。如果已经初始化,通过shell重新初始化rbenv

我是一个在Jekyll上工作的新手,我安装了rbenv。我不知道我从哪里按照说明操作。我在我的.bash_profile中有下面这行:

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

我不知道它在做什么或者它是哪种语言。它是外壳还是bash或什么?我是shell新手。我是一个Windows用户。

当我用Google搜索,我在其他网站上看到,这是我所需要的:

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi 

因此,有人可以请解释线线一下这个代码是干什么的?

这是bash代码。由于它在.bash_profile中,每次加载登录shell时都会执行它。

这里的代码注释与解释每个行所做的评论:

if which rbenv > /dev/null;   # Check if command rbenv is present  
    then eval "$(rbenv init -)";  # run the rbenv initialization scripts 
            # and evaluate the output 
fi 
export PATH="$HOME/.rbenv/bin:$PATH" # Update the PATH variable so the ruby commands 
            # are available 

第二个片段是等同于第一位的,但它不更新PATH变量。

+0

任何想法什么PATH没有更新在第二个片段?缺点是什么? – qbektrix

+0

@qbektrix:PATH环境变量包含执行命令时搜索的目录。显然,在第一个例子中,ruby可执行文件的位置将被添加。在第二个例子中没有发生。这可能是必要的或不取决于版本等... – user000001