A razão mais direta é mencionada por @ l0b0: você precisa atualizar a variável PATH
do seu shell atual , que você faz com source .bash_profile
(ou . .bash_profile
). Qualquer outro shell criado após você ter atualizado o arquivo de inicialização do shell pelo seu script funcionará "fora da caixa" (porque ele usará o arquivo init atualizado).
Dito isto, a menos que você queira se deparar com uma confusão terrível, mais cedo ou mais tarde, você provavelmente vai querer arrumar isso um pouco. Os principais problemas que vejo são:
-
use algum gerenciamento de pacotes sempre que possível - como um usuário de Mac você pode querer olhar para um questão relacionada no SuperUser SE. Não usar o gerenciamento de pacotes geralmente é uma prática ruim (embora haja exceções a essa regra).
-
sudo ...
é garantido para funcionar? Você realmente precisa instalá-lo na raiz, já que você temrbenv
em seu diretório inicial? Isso está conectado ao ponto anterior. -
enquanto
~/.rbenv/bin
é provavelmente bom, geralmente é melhor imitar o FHS geral em seu próprio diretório (tendobin/
,etc/
,lib/
etc. diretamente lá ou colocando-o em um subdiretório separado). -
talvez você queira usar
set -e
para anular o script em quaisquer erros (para os quais não está verificando explicitamente) - consultehelp set
ouman bash
para obter mais detalhes.git clone
é o primeiro candidato aqui - se o repositório já existe, o clone falha, mas o script aceita isso silenciosamente. -
>> ~/.bash_profile
provavelmente poluirá o arquivo init do seu shell. Embora seja possível verificar se as linhas já estão lá, mal imprimir uma nota lembrando sobre a necessidade de adicioná-las manualmente para que a instalação funcione corretamente pode, na verdade, ser mais útil. Especialmente quando você decide dar o script para outra pessoa.