L'annonce a été faite hier matin : Bash 4.3 est disponible au téléchargement sur les serveurs habituels.
ftp://ftp.cwru.edu/pub/bash/bash-4.3.tar.gz
ftp://ftp.gnu.org/pub/gnu/bash/bash-4.3.tar.gz
Envoyé par Chet Ramey
>
- L'interpréteur peut être compilé pour ne pas afficher de message à propos d'un processus qui se termine à cause de SICTERM.
- Il y a maintenant une option de configuration pour activer par défaut l'option globasciiranges.
- Lorsqu'il est compilé pour une conformité POSIX stricte, le développement de l'historique dest désactivé par défaut.
- Le processus de construction a un nouceau mécanisme afin d'élaborer des fichiers d'aides distincts pour mieux refléter la configuration courantes des options de compilation.
- Il y a une nouvelle option de configuration (--enable-direxpand-default) qui provoque l'activation par défaut de l'option d'interpréteur direxpand.
- les interpréteurs lancés pour exécuter des substitutions de process, désormais, exécutent tous les trap configurés pour EXIT.
- les interpréteurs non-interactifs réagissent maintenant à la configuration de checkwinsize, et configure LINES et COLUMNS quand une tâche en arrière-plan se termine.
> En mode POSIX
- définir une fonction avec le même nom qu'une commande interne POSIX lévera une erreur.
- la commande interne command ne modifie une primitive qu'elle couvre si elle est traitée en tant que primitive d'affectation.
- read est interruptible par un signal capturé. Après l'exécution du gestionnaire de signal, read retourne 128+signal, et abandonne toute entrée partiellement lue.
> les Options
- globasciiranges
- direxpand quand cette est activée, le complètement des noms de fichiers développe les variables dans les noms de répertoires tel que bash 4.1
> les Variables prédéfinies
- CHILD_MAX définit le nombre de status d'enfants achevés dont l'interpréteur se souvient.
- BASH_COMPAT définit le niveau de compatibilité de l'interpréteur courant.
- définir pour HISTSIZE une valeur inférieure à zéro fait que la liste d'historique est illimitée (la définir à zéro désactive le listage de l'historique).
- définir pour HISTFILESIZE une valeur inférieure à zéro fait que le fichier d'historique est illimitée (la définir à zéro tronque le fichier l'historique à zéro).
> l'Historique
- le caractère de développement de l'historique (!) ne déclenche plus le développement de l'historique lorsqu'il est suivi d'un guillemet fermant dans une chaîne entre guillemets.
- l'interpréteur sauvegarde l'historique des commandes de tout interpréteur pour lequel l'historique est activé, et HISTSIZE est défini, pas seulement les interpréteurs interactifs.
> le Complètement
- le complètement de l'action helptopic, désormais, montre tous les sujets de l'aide, pas seulement les commandes internes de l'interpréteur.
- le complètement des nom de répertoires contenant des variables, désormais, ajoute une barre oblique si le résultat développé est un répertoire.
- le code de complètement de mot vérifie qu'un nom de fichier contenant une variable peut être développé vers le nom d'un répertoire, ou non, et ajoute / si c'est le cas. Le même code développe les variables dans les noms de commandes lorsqu'il complète une commande.
- le code de complètement de commande évite les blancs et les déclaration d'affection avant de chercher un nom de commande à compléter.
> les Variables utilisateurs
- l'interpréteur possède des variables nameref, et une nouvelle option ±n pour les déclarer et les effacer, ainsi que test -R pour les tester.
> les Tableaux
- l'interpréteur autorise désormais l'affectation, le référencement, et l'effacement des éléments de tableaux indexés en utilisant des indices négatifs (a[-1]=2; echo ${a[-1]}), qui compte à rebours depuis le dernier élément du tableau.
> les Redirections
- la fonctionnalité de redirection {x}<mot, désormais, autorise des mots tel que {tableau[ind]}, et peut utiliser des variables ayant des significations spéciales pour l'interpréteur (par ex. BASH_XTRACEFD).
- Bash ne fait rien de spécial pour s'assurer que le descripteur de fichier X dans {x}<foo reste ouvert après que le bloque qui le contient s'achève.
> le Développement
- le code de développement des accolades, désormais, traite l'echec d'une séquence de développement comme une simple chaîne, et poursuivera le développement des accolades pour le reste des mots.
> les Commandes
- bind a une nouvelle option -X pour afficher toutes les séquences de touches liés aux commandes UNIX.
- cd a une nouvelle option -@ pour parcourir les attributs étendus d'un fichier sur les systèmes qui supportent O_XATTR.
- complete et ses congénères compgen/compopt, désormais, accepte une nouvelle option -o noquote pour inhiber la protection des complètements.
- fc, désormais, interprète -0 (zéro) en tant que ligne de commande courante.
- help, désormais, essaye la correspondance de sous-chaînes (comme il le faisait avec bash-4.2) si la chaîne exacte ne correspond pas.
- help ne préfixe plus la correspondance de sous-chaîne, ainsi help read ne fait pas correspondre readonly.
- popd, désormais, traite les arguments supplémentaire en tant qu'erreurs.
- printf la spécification de format %(...)T, désormais, utilise la date courante si aucun agument n'est fourni.
- read, désormais, vérifie la validité de son premier argument avant de lire l'entrée.
- read, désormais, passe sur les octets NULL dans l'entrée.
- return et exit acceptent des arguments de status de sortie négatifs
- test, [, [[ l'option -v comprend maintenant les références à un tableau, et retourne vrai si l'élément référencé apossède une valeur.
- test les options -nt et -ot, désormais, fonctionnent avec un "timestamp" d'une résolution d'une nanoseconde
- wait a une nouvelle option -n pour attendre que le prochain enfant change de status.