¿Cambiar mi shell a una versión diferente de bash en / usr / local / bin / bash?

15

¿Cómo puedo configurar mi /usr/local/bin/bash(que es la versión 4.2 que permite la finalización automática de 'cd al directorio con nombre de directorio') para que sea mi bash predeterminado para una nueva ventana en lugar de mi versión normal (v3.2.48).

Puedo escribir /usr/local/bin/bashy entrar, pero ese no es el valor predeterminado para una nueva ventana de Terminal, que es lo que quiero.

Michael Durrant
fuente
1
¿Es esto lo que buscas? apple.stackexchange.com/questions/7984/…
bmike
No, se trata de especificar un nuevo shell por completo (probablemente una versión actualizada del bash shell), no simplemente de cambiar para usar bash.
Jason Salaz
Ah, sí, gracias por desenterrar cómo agregar un shell personalizado a la lista de los que el sistema operativo confía.
bmike

Respuestas:

18

No sé si esto se completará en las ubicaciones de la cuenta de usuario avanzada / terminal, pero "La forma en que esto ha funcionado durante años" ™ en Linux-land es que debe actualizar /etc/shellscon la ruta a la ubicación del shell, y luego usar chsh -s /usr/local/bin/bash usernamepara úsalo.

Simplemente ejecutar chshsin modificación /etc/shellsdebería causar un error que indica que ha elegido un shell no válido, en caso de que tenga curiosidad.

/etc/shellses un archivo propiedad de root, por lo que debe usar sudo junto con un editor para modificarlo. Espero que se sienta cómodo haciendo eso, de lo contrario, le recomendaría que no pruebe un shell no predeterminado :)

Resumen (pasos):

  • brew install bash, luego
  • sudo vi /etc/shellsy agregar /usr/local/bin/basha la lista, luego
  • chsh -s /usr/local/bin/bash [your_username] y reinicie su terminal para que sus cambios tengan lugar
Jason Salaz
fuente
17

1) vaya a "Preferencias del sistema"> "Usuarios y grupos"

2) haga clic en el icono del candado y autentique

3) haga clic derecho en el icono de su usuario y seleccione "Opciones avanzadas ..."

4) cambie el valor de "Shell de inicio de sesión" de "/ bin / bash" a su shell preferido

ingrese la descripción de la imagen aquí

nombre de usuario
fuente
esto no funcionó para mí hoy (3 años después) pero a continuación lo hizo cambiando de aceptación.
Michael Durrant