Aconsejaría no hacer la instalación Homebrew de bash en todo el sistema bash
o sh
de mando. Sin embargo, debería estar bien para usar como su shell personal.
Homebrew proporciona una instalación de Gnu Bash . Se perderá cualquier adición de Apple a la cáscara que se proporciona si se utiliza el Apple-suministrado bash
o sh
binarios o el código fuente del sitio web de Apple sitio opensource.apple.com . Cualquier shell a nivel de SO script proporcionado por Apple puede depender de esas extensiones y cambios de Apple para funcionar.
Homebrew también instala, por defecto, una versión 4.3.x de bash:
> brew info bash
bash: stable 4.3.24 (bottled), HEAD
http://www.gnu.org/software/bash/
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/bash.rb
==> Dependencies
Required: readline ✘
==> Caveats
In order to use this build of bash as your login shell,
it must be added to /etc/shells.
Esta es una versión significativamente diferente a la versión 3.2.x que se incluye en OS X 10.9.x. No es 100% compatible con las versiones anteriores a la 4. Por ejemplo extracción de subcadenas en la indexación de parámetros posicionales cambió de 3 a 4. Podría romper los scripts scripts.
Ambas razones pueden llevar a que el sistema scripts no funcionen en tu Mac si cambias a las versiones de Homebrew de bash
y sh
para otra cosa que no sea su caparazón personal. Puedes hacer que tu shell personal sea el Homebrew bash
shell ejecutando:
chsh -s /usr/local/bin/bash
y luego cerrar la sesión y volver a iniciarla. Esto debería ser relativamente seguro para el funcionamiento estable de su máquina.
Si lo anterior chsh
El comando falla diciendo /usr/local/bin/bash
no es un caparazón aceptable, tendrá que añadirlo a la lista en /etc/shells
corriendo:
sudo vim /etc/shells
Debe añadirse en una nueva línea del archivo, de la siguiente manera
> cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh
/usr/local/bin/bash