Si bien soy usuario de Zsh, hoy me entere en una reunión de mi LUG (SanLuiX), de que habian liberado Bash 4.0. Llegue a casa y lo primero que hise fue instalarlo.
Si bien no ley el changelog completo, básicamente entre las nuevas "features" que incluye podemos citar: la posibilidad de usar arrays asociativos y mejoras en la programación del autocompletado. También han mejorado la adherencia a POSIX siendo más riguroso en el procesado de comandos dentro de las sustituciones de comandos.
El proceso de instalación es realmente muy sencillo, así que desde un shell hacemos:
#: wget -v http://ftp.gnu.org/gnu/bash/bash-4.0.tar.gz
Una vez descargado vamos movemos este archivo a /usr/src, y lo descomprimimos de la siguiente forma:
#: cp bash-4.0.tar.gz /usr/src
#: tar -zxvf bash-4.0.tar.gz
Una vez descomprimido procedemos a compilarlo
#: cd bash-4.0
#: ./configure && make
Si nada falla durante el configure o la compilación ya simplemente podemos instalarlo de la siguiente manera:
#: make install
Bien, ya esta Bash instalado, el nuevo path se encuentra en /usr/local/bin/bash, por lo cual ya no vale la clásica ubicación de /bin/bash. Si la versión anterior de BASH ya no se encuentra en el sistema (yo la desinstale previamente), seria bueno linkearla simbolicamente a su nuevo path, de la siguiente manera:
#: ln -s /usr/local/bin/bash /bin/bash
Y listo, ya BASH 4 se encuentra listo.
Yo cometi un error, que fue compilar Bash 4, y antes de instalarlo desinstale via apt mi versión anterior de BASH, por lo cual a la hora de hacer el make install, fallaba pues no encontraba el binario /bin/sh que no es mas que un enlace simbolico a /bin/bash, asi que tuve que hacer:
#: ln -s /usr/src/bash /bin/sh
Luego hice el make install y borre este link.
#: rm -rf /bin/sh
Como ultimo paso lo volvi a crear pero ahora desde la nueva ubicación:
#: ln -s /urs/local/bin/bash /bin/sh
Y con esto todo funciono nuevamente! ![]()
Ahora si hacemos bash --version en la shell veeremos:
#: bash --version
GNU bash, version 4.0.0(1)-release (i686-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
