Ruby 通过bash脚本使用RVM

Ruby 通过bash脚本使用RVM,ruby,bash,rvm,ruby-2.3.1,Ruby,Bash,Rvm,Ruby 2.3.1,我想编写一个小的bash脚本,为一个新项目自动设置正确的ruby版本和gemset。为了进行测试,我安装了带有ruby2.3.1的rvm和两个Gemset:foo和bar 即使是这样一个简单的测试也不会返回预期结果: $ rvm current ruby-2.3.1@foo $ ./script Using ruby-2.3.1 with gemset bar Using /(...)/.rvm/gems/ruby-2.3.1 with gemset bar ruby-2.3.1@bar $

我想编写一个小的bash脚本,为一个新项目自动设置正确的ruby版本和gemset。为了进行测试,我安装了带有ruby
2.3.1
rvm
和两个Gemset:
foo
bar

即使是这样一个简单的测试也不会返回预期结果:

$ rvm current
ruby-2.3.1@foo

$ ./script
Using ruby-2.3.1 with gemset bar
Using /(...)/.rvm/gems/ruby-2.3.1 with gemset bar
ruby-2.3.1@bar

$ rvm current
ruby-2.3.1@foo
脚本内容:

#!/bin/bash --login
rvm gemset use bar
rvm use 2.3.1@bar
rvm current

其他操作,如安装rubies或创建Gemset,似乎都能正常工作,但我无法让
use
修改脚本调用方使用的当前版本。有什么想法吗?

答案显然很简单,我应该用

. ./script