CentOS logoMavericks
Acerca de este sitio Mis notas sobre manejo de la línea de comandos y programación de scripts en el GNU Bourne-Again SHell (BASH).

Índice

  1. Propósito
  2. Instalación y actualización.
  3. Referencias.

Propósito

Estuve considerando organizar estas notas de varias formas: de manera similar a algunos libros, igual que la documentación en línea que el mismo BASH provee (man bash), como algunos tutoriales lo presentan, etcétera. Pero, al no tener un plan de obra determinado resulta complicado. Así, baste decir que, salvo por alguna reorganización que se dé en el futuro, por el momento los temas son presentados y organizados esencialmente por afinidad de éstos y mi criterio.

En caso de que algo en esta página o sitio resulte de su interés para ser incluido como referencia, favor de considerar las indicaciones generales que señalo al final de ésta página, así como las recomendaciones sobre citado y atribución. Asimismo, téngase prsente la declaración de responsabilidad sobre la información presentada y su utilización.

Instalación y actualización

macOS y OS X

Hasta macOS 10.12.5, la versión de BASH distribuida es:

$ bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
Copyright (C) 2007 Free Software Foundation, Inc.

Mavericks

lo que no ha mejorado mucho desde OS X 10.9.5:

$ bash –version
GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

esto puede representar incompatibilidades y limitantes si se ha venido desarrollando en algún linux con una versión más reciente (como puede ser el caso de CentOS v7.x), especialmente con alguna versión 4.x, que agrega importantes cambios. Una de estas limitantes es, por ejemplo, la ausencia de arreglos asociativos, disponibles desde BASH v4.0, por lo que la actualización del shell puede ser más que deseable, una necesidad. Así entonces, para actualizar la versión de este shell se procede de la siguiente forma1,2:

  1. Se descarga la versión deseada del sitio del desarrollador (o algún otro confiable).
  2. Se desempaca y se posiciona uno dentro del directorio desempacado.

    $ cd path/bash-version
  3. La versión de BASH incluida por defecto en macOS se encuentra en /bin. La práctica recomendada es no reemplazarla. Se debe elegir una ruta alternativa para la instalación de esta actualización. Usualmente es /usr/local/bin y conviene validar que no exista ya un BASH ahí, cosa que puede hacerse con:

    $ ls /usr/local/bin/b*
    $ more /private/etc/shells

    El resultado de ambos comandos no debe indicar la existencia de un intérprete BASH en la ruta que hemos seleccionado en el paso previo.
  4. Se procede con la compilación como se indica a continuación. El resultado quedará en un dirctorio bin dentro de la ruta que indicamos con el parámetro --prefix.

    $ ./configure --prefix=/usr/local && make && sudo make install
  5. Se agrega el nuevo shell a la lista de shells permitidos y, de ser necesario, se modifica el shell designado por defecto para poder usuarlo desde la cuenta que así lo requiera.

    $ sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"
    $ chsh -s /usr/local/bin/bash usuario
  6. Para validar el funcionamiento del shell, sirve abrir una nueva sesión y probar:

    $ echo $BASH && echo $BASH_VERSION
    $ echo bash -version

Referencias

  1. Ian McCracken, “Upgrade bash to 4.0 in Mac OS X“, Concision and Concinnity, blog; posted: 2009.03.09, consulted: 2016.06.06. URL: http://concisionandconcinnity.blogspot.mx/2009/03/upgrade-bash-to-40-in-mac-os-x.html.
  2. samnang,” Install Bash version 4 on MacOS X “, GitHubGist, web. Retrieved: 2017.07.09. URL: https://gist.github.com/samnang/1759336.
  3. Pete Brown, “Fun with the Windows Subsystem for Linux“, Microsoft, blog; published: 2016.07.22, consulted: 2016.07.28. URL: https://blogs.windows.com/buildingapps/2016/07/22/fun-with-the-windows-subsystem-for-linux

Twitter Wordpress eMail
© Todos los derechos reservados.
M. en C. Eduardo René Rodríguez Avila
Creación: 2016.06.05
Última actualización: 2017.07.14
El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto.
Anuncios