Por acidente, executei o comando
exec $SHELL -l
no meu terminal, e isso mudou a aparência do meu prompt
Macintosh:~ myname$ exec $SHELL -l
Macintosh-2:~ myname$ cd
ou seja, há um "-2" depois do Macintosh
Macintosh:~ myname$
Macintosh-2: myname$
Não tenho certeza se isso pode ser responsável por alguns problemas que estou tendo no meu sistema.
Estou tentando usar Ruby 1.9.3 no meu sistema, que instalei com Rbenv.
rbenv version
1.9.3-p327
No entanto, quando tento instalar gems, recebo uma mensagem de erro informando que elas exigem pelo menos Ruby 1.9.2, então presumo que a máquina ainda esteja usando a versão do Ruby que vem com meu Mac. Eu tentei consertar isso
gem install bundle
rbenv rehash
bundle install
mas continuo recebendo a mesma mensagem de erro sobre a necessidade de pelo menos Ruby 1.9.2, então estou me perguntando se o efeito da execução exec $SHELL -l
está impedindo a instalação de gemas por algum motivo.
Responder1
$SHELL
refere-se ao seu shell (interpretador de comandos). A maioria dos shells reconhece a –l
opção (L minúsculo) para significar que é um “shell de login”, o que significa principalmente que ele lê e processa arquivos de comando extras (por exemplo, csh
sempre lê .cshrc
, mas se for um “shell de login”, também lê .login
). Você iniciou um novo processo de shell em execução e disse para ele agir como “shell de login”.
Alguns shells (acredito bash
que seja um deles) rastreiam os processos hierárquicos do shell e permitem que o usuário exiba a profundidade ou nível. Isso geralmente é incorporado ao prompt do shell, como em:
(sequência de prompt)
$
pwd
/dir1
(sequência de prompt)$
$SHELL
(incitar2
corda)$
cd ../dir2
# Observe que o nível do shell é2
,
(incitar2
corda)$
rm *
# indicando que você está em um novo processo shell.
(incitar2
corda)$
exit
(sequência de prompt)$
pwd
# Observe o retorno ao processo shell original.
/dir1
Isso não deve ter nada a ver com o seu problema com RubyGems.