Entiendo el movimiento de Apple de bash a zsh, aunque realmente preferiría que no hubieran hecho el cambio.
Probé zsh y decidí que prefería quedarme con bash.
Entonces, dado que MacOS Catalina ya no usa /bin/bash, ¿voy a tener algún problema si lo reemplazo con la nueva versión? (3.2.57 con 5.0.3).
No habría pensado en hacer esto antes, porque habría sido muy posible que alguna parte del sistema operativo se basara en una función que había cambiado en las nuevas versiones.
Ahora, sin embargo, ese /bin/bash no se usa oficialmente, ¿podemos cambiarlo?
Si es así, sería un efecto secundario realmente positivo del cambio a zsh. Podemos mantener nuestras cuentas de usuario compatibles con nuestras cuentas de Linux, todas usando zsh, y mantener la última versión ejecutándose en todas nuestras máquinas, sin tener ningún peligro de conflicto con el sistema operativo.
No puede (y no debe) cambiar/actualizar fácilmente /bin/bash
. Sin embargo, puede instalar una versión más reciente de bash
Homebrew y usar la información de Cómo usar bash como shell predeterminado para cambiar su shell de inicio de sesión.
Esto no romperá ningún script bash existente como se menciona #!/bin/bash
en la primera línea.
Puede instalar el último bash a través de homebrew. Ya hay una guía sobre cómo instalarlo a través de homebrew.
Instalar cerveza a través de:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Después de instalar, obtenga la última versión de bash a través de brew.
Uso:
$ brew install bash
instala la última versión de bash.
Los archivos binarios en /{,usr/}{,s}bin/
normalmente no deben reemplazarse con otros archivos. Otros programas esperan que sean las versiones que venían con OS X y son reemplazadas por actualizaciones del sistema operativo.
Después de ejecutar brew install bash, puede cambiar el shell predeterminado de forma segura:
/usr/local/bin/bash
a/etc/shells
chsh -s /usr/local/bin/bash.
La ejecución bash -version
ahora debería mostrar la última versión.
Catalina ya no usa bash como shell predeterminado para cuentas nuevas . /bin/bash
aún permanecerá allí, de modo que los scripts existentes que lo llamen seguirán funcionando sin modificaciones.
/bin
contiene csh
, ksh
, sh
, así como bash
y zsh
.
Por supuesto, puede instalar una versión más nueva de bash y modificar sus scripts existentes (o su entorno de shell) para usar eso en su lugar. Puede haber diferencias entre la versión anterior y la nueva que requieran una modificación del script.
sin ladera
sin ladera
/bin/bash
no va a desaparecer, su cuenta actual, así como todos los scripts de shell, funcionarán como antes.sin ladera
pedro brooks
TJ Luoma
/bin/bash
porque está protegido por SIP. Como han sugerido otros, puede agregar un nuevobash
a/usr/local/bin/
. Solo quería asegurarme de que estaba claro que no puedes eliminarlo/bin/bash
incluso si quisieras (ni deberías hacerlo, ya que no sabes qué podría romperse).jivan pal
chsh -s /bin/bash
de Bash .