在 Bash 脚本中设置源后找不到命令

在 Bash 脚本中设置源后找不到命令

按照说明这里,手动操作一切正常。但是,当我使用 Bash 脚本中的指令时,我得到了错误,rbenv command not found因为source ~/.bashrc没有正确执行。发生了什么事?感觉我以前在其他事情上遇到过这种情况……

*执行位已设置,运行 dos2unix,并且位于#!/bin/bash顶部。

#!/bin/bash

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.3.1

答案1

这是因为脚本子 shell 不是以交互方式运行的,在这种情况下,~/.bashrc默认情况下设置为不执行任何操作。您可以使用中介绍的任何解决方法这个答案或者直接rbenv在最后一行使用完整路径调用:

$HOME/.rbenv/bin/rbenv install 2.3.1

请注意,从 Cosmic 开始一个rbenv包裹在存储库中。

相关内容