我想让RVM和ruby安装在Ubuntu 12虚拟机中,除了密码提示之外,没有人为干预。自动RVM安装
我创建了一个shell脚本来做到这一点,直到我需要使用RVM本身才工作得很好。
我正在使用多用户安装。
#!/bin/bash -l
mainUser=`whoami`
echo "Installing as '${mainUser}'"
echo "Installing git..."
sudo -S apt-get install --yes curl git-core
echo "Installing RVM..."
\curl -L https://get.rvm.io | sudo bash -s stable
echo "Adding ${mainuser} to RVM group..."
sudo adduser $mainUser rvm
newgrp rvm
从这里事情变得很奇怪..我需要加载dvm作为源。我希望我的脚本有这个源码和我的用户的bash_profile/bashrc。无论如何..我知道如何手动完成,但我无法通过脚本来完成。这是最后的代码,我想:
. "/usr/local/rvm/bin/rvm"
rvm use ruby-head
rubyVersion=`rvm list | awk '/ruby-head/{print x;print};{x=$0}' | sed -n '/ruby-head/{g;1!p;};h' | awk -F ' ' '{print $1}'`
rubyTest=${rubyVersion}@test
rvm use $rubyTest --create --default
我得到的错误是这样的:
test.sh: 7: /usr/local/rvm/bin/rvm: Syntax error: "(" unexpected (expecting "fi")
如果我只是尝试使用完整路径,如:
rvm=/usr/local/rvm/bin/rvm
$rvm use ruby-head
rubyVersion=`$rvm list | awk '/ruby-head/{print x;print};{x=$0}' | sed -n '/ruby-head/{g;1!p;};h' | awk -F ' ' '{print $1}'`
rubyTest =${rubyVersion}@test
$rvm use $rubyTest --create --default
我取而代之的是:
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
我是cl ueless。为什么我不能使用/usr/local/rvm/bin/rvm
?
有没有一种方法可以通过脚本为该用户执行source /etc/profile.d/rvm.sh
?
我不太擅长shell脚本和Linux,所以我很欣赏你可以给的任何参考和例子。
谢谢!
UPDATE
我也试过:
source "/usr/local/rvm/scripts/rvm"
...和所有它的变种。同样的错误:“RVM不是功能”。
您是否尝试在脚本中执行类似'source〜/ .rvm/scripts/rvm'的操作? – shivam