Por accidente, ejecuté el comando
exec $SHELL -l
en mi terminal, y cambió la apariencia de mi mensaje
Macintosh:~ myname$ exec $SHELL -l
Macintosh-2:~ myname$ cd
es decir, hay un "-2" después de Macintosh
Macintosh:~ myname$
Macintosh-2: myname$
No estoy seguro de si esto podría ser responsable de algunos problemas que tengo en mi sistema.
Estoy intentando usar Ruby 1.9.3 en mi sistema, que instalé con Rbenv.
rbenv version
1.9.3-p327
Sin embargo, cuando intento instalar gemas, aparece un mensaje de error que requiere al menos Ruby 1.9.2, por lo que supongo que la máquina todavía usa la versión de Ruby que viene con mi Mac. Intenté arreglar esto por
gem install bundle
rbenv rehash
bundle install
pero sigo recibiendo el mismo mensaje de error acerca de que necesito al menos Ruby 1.9.2, por lo que me pregunto si el efecto de la ejecución exec $SHELL -l
impide que las gemas se instalen por algún motivo.
Respuesta1
$SHELL
se refiere a su shell (intérprete de comandos). La mayoría de los shells reconocen que la –l
opción (L minúscula) significa que es un “shell de inicio de sesión”, lo que significa principalmente que lee y procesa archivos de comandos adicionales (por ejemplo, csh
siempre lee .cshrc
, pero si es un “shell de inicio de sesión”, también lee .login
). Ha iniciado un nuevo proceso de shell en ejecución y le ha indicado que actúe como un "shell de inicio de sesión".
Algunos shells (creo bash
que es uno) realizan un seguimiento de los procesos jerárquicos del shell y permiten al usuario mostrar la profundidad o nivel. Esto suele incorporarse en el símbolo del shell, como en:
(cadena de aviso)
$
pwd
/dir1
(cadena de aviso)$
$SHELL
(inmediato2
cadena)$
cd ../dir2
# Tenga en cuenta que el nivel del shell es2
,
(inmediato2
cadena)$
rm *
# indicando que estás en un nuevo proceso de shell.
(inmediato2
cadena)$
exit
(cadena de aviso)$
pwd
# Nota para volver al proceso de shell original.
/dir1
Esto no debería tener nada que ver con tu problema con RubyGems.