Bash 5.1 ya fue liberado y estas son sus novedades

Después de dos años de desarrollo, se ha publicado una nueva versión del shell GNU Bash 5.1, que es el predeterminado en la mayoría de las distribuciones de Linux. Al mismo tiempo, se formó el lanzamiento de la biblioteca readline 8.1, utilizada en bash para organizar la edición de la línea de comandos.

Este es el intérprete predeterminado en muchos sistemas Unix gratuitos, especialmente en sistemas GNU / Linux. También es el shell predeterminado de Mac OS X. El proyecto Cygwin lo trajo a Windows por primera vez y en Windows 10 es una opción del sistema operativo.

Principales novedades de Bash 5.1

Se ha rediseñado el motor para generar números pseudoaleatorios, además de que se agregó la variable SRANDOM que contiene un número aleatorio de 32 bits del generador de números pseudoaleatorios del sistema.

Para matrices asociativas, se implementa el soporte para asignaciones compuestas, en las que se pasa un conjunto de pares en el formato clave/valor, además de que se añadio un aumento dinámico en el tamaño de una tabla hash dependiendo del tipo de datos agregados a la matriz asociativa.

Otro de los cambios que se destaca, es en el modo POSIX, se implementa la función de sustitución de procesos, mediante la cual la entrada y salida de un comando es tratada como un archivo por otros comandos.

Se agregaron nuevos parámetros para los operadores de conversión: «U», «u» y «L» para convertir toda la cadena a mayúsculas, convertir a mayúsculas el primer carácter y convertir a minúsculas, así como el parámetro «K» para mostrar una matriz asociativa en formato de clave /valor.

Para habilitar el modo de compatibilidad con versiones anteriores, ahora necesita usar la variable BASH_COMPAT (no puede establecer el modo de compatibilidad con bash 5.0 usando la opción compat50).

De forma predeterminada, Readline tiene habilitado el modo de pegar entre corchetes, en el que los datos recuperados del portapapeles se enmarcan con secuencias de escape para resaltar visualmente los datos recibidos desde el portapapeles. Readline proporciona resaltado para tales inserciones, así como resaltado el texto encontrado durante búsquedas incrementales y no incrementales en el historial. Se ha ampliado el número de comandos y situaciones para las que se sustituyen las etiquetas para resaltar.

Además, se devolvió el comportamiento anterior relacionado con la expansión de la ruta de archivo al especificar palabras que incluyen barras invertidas pero que no usan caracteres especiales de expansión de máscara.

Como en bash 4.4, tales rutas ya no se divulgan (el comportamiento modificado de Bash 5.0 estaba de acuerdo con el estándar POSIX, pero los usuarios lo recibieron negativamente y el comité POSIX acordó cambiar la especificación). Además, el modo GLOBIGNORE ahora ignora el «.» y «..» como componentes de ruta especificados en el terminal.

Se modificó el manejo de excepciones al leer datos del terminal usando las construcciones de lectura y selección. La función integrada de selección ahora ejecuta trampas cuando una señal interrumpe una llamada interna para leer. Lanzamiento recursivo permitido de controladores SIGINT.

Readline ha implementado el desplazamiento horizontal automático en terminales de una sola línea.

Además, podremos encontrar soporte para definir diferentes enlaces de atajos de teclado para diferentes modos de edición y diferentes distribuciones de teclado en el comando «bind -x».

Se implementó la optimización del número de bifurcaciones ejecutadas cuando se ejecutan comandos en el subshell o se usa «bash -c». Al ejecutar «bash -c», el estado de ejecución del trabajo ahora se puede encontrar con el comando trabajos.

El código de coincidencia de patrones ahora usa la llamada fnmatch para dar cuenta de cadenas que se ven iguales, pero difieren en códigos de caracteres.

El comando shell-transpose-words se ha agregado a readline, usando la misma definición de palabra que en shell-forward-word. De forma predeterminada, se agregaron enlaces de teclado para shell-forward-word, shell-backward-word, shell-transpose-words y shell-kill-word.

¿Cómo obtener Bash 5.1 en Linux?

De momento solo queda esperar a que sea incorporada esta nueva versión de Bash dentro de los repositorios de las distribuciones de Linux, ya que es la mejor opción.

Si quieren conocer un poco más y también aquellos que quieran obtener ya esta nueva versión, pueden visitar el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Un comentario, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   ROMSAT dijo

    Y para saber con qué versión estás trabajando tan solo tienes que abrir una terminal y probar cualquiera de estos tres métodos (que seguro que habrá más):
    1) $ echo «${BASH_VERSION}»
    2) $ bash –version
    3) Sin escribir nada usa la combinación de teclas de cortar y pegar, esto es: Ctrl+x Ctrl+v