$ bash -lc 'cd /home/client1/websites/site1; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
$ bash -lc 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02
$ bash -lc 'rvm rvmrc trusted /home/client1/websites/site2/.rvmrc'
The rvmrc at '/home/client1/websites/site2/.rvmrc' is currently trusted.
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
置:
[[ -s /usr/local/rvm/scripts/rvm ]] && . /usr/local/rvm/scripts/rvm
在以下文件中:
可以在文件的最顶部,在其他任何事情可能导致问题之前。
旁注:我已经尝试过使用.ruby-version方法,它似乎也不起作用(感谢irc上的mpapis)
答案 0 :(得分:1)
一般情况下,需要以某种方式调用bash来处理各种profile / rc文件。尝试以bash -L -c "your command here"
执行bash,它激活登录模式以正确解析所有必需的启动文件。
编辑:如果不需要登录shell,则必须强制交互模式自动获取~/.bashrc
。这是因为-c
阻止正常的交互式控制台被实例化。这可以使用bash -i -c "command"
完成。