Bash Shell 5.3 publié avec une nouvelle substitution de commande
Bash Shell 5.3 est maintenant disponible, ajoutant de nouvelles fonctionnalités de script, des corrections de bugs et des améliorations de la complétion, de la substitution et de Readline.
Près de trois ans après Bash 5.2, et après un cycle d'un an de versions bêta et de candidatures de publication, le shell de ligne de commande et langage de script le plus populaire utilisé dans les systèmes d'exploitation de type Unix a publié la version 5.3.
La fonctionnalité principale est une paire de nouveaux formulaires de substitution, $ { commande; } et $ {|commande;}, qui s'exécutent dans le contexte de l'actuel shell plutôt que dans un processus enfant. Ce changement signifie que les scripts peuvent capturer la sortie (ou laisser la commande écrire dans REPLY) sans supporter le surcoût habituel de fork et de pipe—pratique pour les boucles serrées et les systèmes embarqués.
Une autre addition bienvenue est GLOBSORT, une variable de shell qui permet aux utilisateurs de déterminer comment les expansions de chemins sont ordonnées—par nom, taille, divers horodatages, ou même non triées—et si la liste est ascendante ou descendante.
Les utilisateurs avancés qui utilisent la complétion de commandes apprécieront compgen -V, qui peut directement insérer des complétions générées dans une variable, et read -E, qui emprunte désormais la complétion programmable de Readline lors de la saisie interactive. Pendant ce temps, source -p PATH permet aux scripts d'« inclure » des fichiers compagnons à partir d'un chemin de recherche explicite au lieu de ` PATH.
Sous le capot, la base de code a été mise à jour pour garantir la conformité avec C23 (la dernière révision de la norme du langage de programmation C). En conséquence, Bash ne peut plus être compilé avec des compilateurs de l'époque de K&R—une note de bas de page pour la plupart des distributions, mais un signal que les chaînes d'outils légacy doivent évoluer.
Dernier point mais non le moindre, le jumeau de Bash 5.3, Readline 8.3, a été publié le même jour. La bibliothèque autonome offre désormais une recherche insensible à la casse (search-ignore-case), une commande nommée appelable execute-named-command, et une fonctionnalité export-completions pour fournir des données de complétion à des programmes externes.
Pour une liste complète des changements, consultez l'annonce.
