Install Ruby using rbenv in a bash script I want to write an automated bash script for installing Ruby and Rails using rbenv, but I am getting session reload issues in the terminal.

#!/bin/bash
echo "Installing rbenv.."
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' &gt;&gt; ~/.bashrc
echo 'eval "$(rbenv init -)"' &gt;&gt; ~/.bashrc
source ~/.bashrc
reset
echo "Finished installing rbenv"

#!/bin/bash
rbenv -v
echo "Installing ruby.."
sudo rbenv install 2.2.3
rbenv global 2.2.3
echo "Finished installing ruby"
ruby -v

echo "gem: --no-document" &gt; ~/.gemrc

echo "Installing rails.."
sudo apt-get install ruby-dev
sudo gem install bundler
gem install rails -v 4.2.3
rbenv rehash
echo "Finished installing rails"
rails -v
rbenv rehash
Not a lot can be improved on a simple installer script like this.
I have a few tips but nothing really significant.

The script doesn't check if it has already been executed.
If you run it again by mistake, it will append to ~/.bashrc lines that were already there.

As a simple workaround, you could add -e flag to the shebang:

#!/bin/bash -e


This will cause the script to exit on the first error.
Which will happen on the first git clone command,
which will fail because the local clone already exists.
The script will stop there and not reach the lines that append again to .bashrc.

Speaking of shebang, you have a second #!/bin/bash in the middle of the script, which was probably a copy-paste mistake and has no purpose there, so should be removed.