¿Establecer shell predeterminado en MacPorts bash en Mac OS X 10.6.8?

11

Como seguimiento a mi pregunta anterior , reinstalé mis MacPorts y quiero probar su nueva versión de bash nuevamente.

Instalé el bash más reciente a través de MacPorts en mi sistema Mac OS X 10.6.8, pero cuando inicio una sesión de Terminal.app, el comando "sh --version" mostró que todavía estaba usando el viejo bash 3.2.48. Esto es incluso cuando "which bash" apunta al nuevo 4.2.37 instalado por MacPorts.

Intenté cambiar las preferencias de Terminal.app para usar el nuevo bash como predeterminado, cambié / etc / shells y utilicé el comando chsh para especificar el bash de MacPorts como predeterminado. Sin embargo, ninguno de estos métodos tuvo éxito. ¿Qué me estoy perdiendo? Muchas gracias.

hpy
fuente
1
¿Ya rompiste el caparazón y quieres ver cómo hacerlo de nuevo? La razón which bashmuestra que el shell más nuevo pero está ejecutando el anterior es que el shell se inicia mediante la ruta absoluta (/ bin / bash) y no obedece la ruta. Lo que no importaría de todos modos, ya que la ruta no está configurada para incluir MacPorts hasta que se ejecute .bashrc.
Alan Shutko el

Respuestas:

18

sh --versiones probablemente lo mismo que /bin/sh --version. Si el shell actual es bash, puede ver su versión con echo $BASH_VERSION. Si cambia el shell de inicio de sesión predeterminado con chsh, puede mantener el shell predeterminado de Terminal como el shell de inicio de sesión.

  1. sudo port install bash
  2. Añadir /opt/local/bin/basha/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Abra una nueva pestaña y verifique echo $BASH_VERSION
Lri
fuente
echo $SHELLindica más claramente qué shell se está ejecutando.
Victor Sergienko