在shell脚本开关红宝石(Switching rubies in shell script)

2019-10-17 09:50发布

当执行一个bash shell脚本,我使用的红宝石1.9.3。 然后,在脚本中,我想切换到JRub(我使用RVM)。 我试着做切换到JRuby的rvm use jruby脚本中,但这并没有工作,它说:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

./run.sh: line 10: jruby: command not found

当我type rvm | head -n1 type rvm | head -n1在命令提示符下,我得到: rvm is a function 。 所以,我不知道这个问题的。 我想这可能是因为我使用sudo(安装JRuby的sudo rvm install jruby )。 于是我又跑shell脚本使用sudo。 我再次收到错误。

我如何与RVM一个bash shell脚本中切换红宝石的?

谢谢

Answer 1:

最后我加入这行之前:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

如在此线程解释(抱歉 - 虽然我之前知道这个线程的,我并没有完全掌握它):

RVM不切换红宝石



Answer 2:

/完整的/路径/到/ RVM你的shell似乎有一个“RVM”内建命令定义。



文章来源: Switching rubies in shell script
标签: shell rvm jruby