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

Re-initializing rbenv via shell if already initialized

我确定我问题的表述有误。那么,让我解释一下我的问题,有人可以为我编辑它。

我是 Jekyll 的新手,我安装了 rbenv。我不确定我是从哪里遵循指示的。我的 .bash_profile:

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

我不知道它是做什么的,也不知道它是什么语言。是 shell 还是 bash 还是什么?我是 shell 的新手。我是 windows 用户。

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

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 变量。