Como dijo @William en su respuesta, Apple no proporciona el bash 4 debido a las restricciones de la GPL. Sin embargo, puede instalar bash 4+ y también puede convertirlo en su shell predeterminado (incluso para Terminal y iTerm2 ) haciendo lo siguiente.
Primero instala la versión más reciente de bash. Hay varias formas de hacerlo, prefiero Homebrew.
- Instale Homebrew como se describe en enlace .
- Instala bash usando
brew install bash
.
Bash ya está disponible y el shell activo para la sesión actual. Puede encontrar dónde se encuentra ejecutando which bash
. En mi caso es en /usr/local/bin/bash
. Este nuevo bash ahora se puede usar en scripts usando un Shebang con la nueva ruta de bash al comienzo de los scripts. También puede usarlo para perfiles específicos en Terminal / iTerm2 siguiendo los pasos descritos en la respuesta de @ user136952.
#!/usr/local/bin/bash
...your script...
Supongo que esto es lo que quieres decir con "lado a lado" en tu pregunta. Para que bash sea el valor predeterminado, debe realizar dos pasos más.
Primero, agregue esa ruta bash a su archivo /etc/shells
. Como se describe en / etc / shells , este archivo tiene la lista de shells de inicio de sesión válidos. Antes de que el nuevo bash pueda ser el predeterminado, tiene que ser válido. Después de agregar la nueva ruta de bash, mi /etc/shells
se parece a lo siguiente:
# 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/bash
Finalmente podemos usar chsh para convertirlo en el shell predeterminado. Puede leer más sobre esto en Cambiar el Shell en la Terminal Mac OS X , pero el comando real es muy sencillo.
sudo chsh -s /usr/local/bin/bash
Ahora el nuevo bash es nuestro shell predeterminado. Si abre Terminal o iTerm2 y ejecuta bash --version
debería ver la nueva versión. Tenga en cuenta la "Licencia GPLv3 +" que es la razón por la que Apple no la incluye con macOS.
$ bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.6.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>