KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
(See update at bottom) I feel like I'm missing something terribly obvious here, but I can't change gemsets from within a shell script. This minimal script demonstrates: #!/usr/bin/env bash rvm gemset use "testing" I even tried the instructions from the Scripting RVM page (although it didn't seem necessary): #!/usr/bin/env bash # Load RVM into a shell session *as a function* if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then # First try to load from a user install source "$HOME/.rvm/scripts/rvm" elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then # Then try to load from a root install source "/usr/local/rvm/scripts/rvm" else printf "ERROR: An RVM installation was not found.\n" fi rvm gemset use "testing" Still no go. Interestingly enough, if I try to run the script without first creating the "testing" gemset, I get ERROR: Gemset 'testing' does not exist, rvm gemset create 'testing' first. However, if I create the gemset and then run the script, I get no output from the script and the gemset is not changed (according to rvm info ). I am able to perform other RVM gemset actions, such as creating gemsets and trusting .rvmrc files, from within the script. [Update] Of course, the environment is changing, as indicated by a call to rvm info from within the script. How do I get these changes to persist/affect the calling shell? Or, if that's not possible (as indicated here ), is there any way to set the current RVM gemset based on input to a script?
Tags (comma-separated)
Save Edits
Cancel