6 votos

M1 Mac incapaz de cambiar bash

¡Saludos!

Seguí las respuestas aquí y obtuve la última versión (5.2.15) de bash instalado en mi Mac. Pero cuando ejecuté bash --version todavía se nota:

GNU bash, version 3.2.57(1)-release (arm64-apple-darwin22)

Compruebo el /etc/shells y el recién instalado bash está en la lista:

...
/bin/zsh
/opt/homebrew/Cellar/bash/5.2.15/bin/bash

Cuando intenté ejecutar dscl . -read ~/ UserShell muestra el recién instalado bash .

UserShell: /opt/homebrew/Cellar/bash/5.2.15/bin/bash

Ya he reiniciado el Terminal y mi mac pero sin resultado.

También he probado a cambiar el Shells open with: en la configuración de Terminal a Default login shell y Command (complete path) pero ambos siguen mostrando el 3.2.57 version

Además ya he encontrado este pero no tengo el tmux instalado en mi Mac.

¿Alguna idea al respecto? Necesito ejecutar un .sh y requiere bash 4 o superior

ACTUALIZACIÓN:

Ejecutar which bash muestra /bin/bash

6voto

Lo más probable es que hayas cambiado de shell con éxito, pero utilizas el comando equivocado para comprobar la versión. bash --version iniciará un nuevo bash de PATH en tu caso es /bin/bash . Utilice echo $BASH_VERSION para comprobar la versión.

Sin embargo, es una mala idea utilizar una ruta que apunte a Homebrew Cellar, se romperá tan pronto como Bash se actualice a 5.2.16. La mayoría de los binarios instalados a través de Homebrew se enlazan desde $(brew --prefix)/bin ( /opt/homebrew/bin para M1/M2), así que para solucionar esto

  • editar /etc/shells ( sudo nano /etc/shells ), sustituya /opt/homebrew/Cellar/bash/5.2.15/bin/bash con /opt/homebrew/bin/bash
  • ejecute chsh -s /opt/homebrew/bin/bash
  • Abra la configuración de Terminal y establezca "Shell abierto con" en "Shell de inicio de sesión predeterminado".

A continuación, reinicie Terminal.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X