我想讓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