Bash脚本自动安装rbenv

Bash脚本自动安装rbenv,bash,rbenv,Bash,Rbenv,我正在尝试编写一个bash脚本,从头到尾安装rbenv 但是有些东西不起作用,主要是我正在更改目录,但只是在子shell中 #!/bin/bash echo "installing rbenv ruby manager manager" cd ~ git clone git://github.com/sstephenson/rbenv.git .rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile e

我正在尝试编写一个bash脚本,从头到尾安装rbenv

但是有些东西不起作用,主要是我正在更改目录,但只是在子shell中

#!/bin/bash
echo "installing rbenv ruby manager manager"
cd ~
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source .bash_profile

echo "installing ruby build for rbenv"
git clone https://github.com/sstephenson/ruby-build.git
cd ruby-build
sudo ./install.sh

echo "rbenv and ruby-build have been installed, installing ruby now.."
sleep 2

read -p "would you like chronospere to install ruby 1.9.3 [y/n]" RESP
if [ "$RESP" = "y" ]; then
  rbenv install 1.9.3-p327
  rbenv rehash
  rbenv global 1.9.3-p327
  ruby -v
else
  echo "alrigt skipping.. vagrant has rbenv installed you can install ruby it at your leisure "
  echo "hold cmd, and double clck https://github.com/sstephenson/rbenv for more info"
fi

cd ~
因此,似乎安装它的工作。但是我的大部分代码没有运行,或者没有在我喜欢的地方运行

vagrant@precise64:/vagrant$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]
vagrant@precise64:/vagrant$ rbenv
The program 'rbenv' is currently not installed.  You can install it by typing:
sudo apt-get install rbenv
正如您所看到的,好像什么都没有安装,只是发生了
source.bash\u配置文件
从未发生过

vagrant@precise64:/vagrant$ cd      
vagrant@precise64:~$ cd ~ 
vagrant@precise64:~$ source .bash_profile 
在我手动获取bash_配置文件之后

vagrant@precise64:~$ rbenv
rbenv 0.4.0-45-g060f141
vagrant@precise64:~$ rbenv versions
  * system (set by /home/vagrant/.rbenv/version)
  1.9.3-p327
vagrant@precise64:~$ rbenv global 1.9.3-p327
vagrant@precise64:~$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

因此,正如您所看到的,代码似乎正在运行,而不是从一个目录移动到下一个目录。我甚至不知道这是否可能。我从~/(HOME)搬到/ruby build,再回到~然后搬到/vagrant。这在一个bash脚本中是否可行。

我也遇到了这个问题。对我来说,关键是在curl调用grab RBENV之前添加
export RBENV_ROOT=“/home/vagrant/.RBENV”
。类似的东西应该可以工作(使用Ubuntu精确32位测试):


我也遇到了这个问题。对我来说,关键是在curl调用grab RBENV之前添加
export RBENV_ROOT=“/home/vagrant/.RBENV”
。类似的东西应该可以工作(使用Ubuntu精确32位测试):

export RBENV_ROOT="/home/vagrant/.rbenv"

curl https://raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash