După aproape trei ani de dezvoltare, a fost lansată o nouă versiune a interpretului de comenzi GNU Bash 5.3, utilizat implicit în majoritatea distribuțiilor Linux. De asemenea, a fost creată versiunea bibliotecii readline 8.3, folosită în bash pentru gestionarea editării liniei de comandă.
Printre îmbunătățirile cheie se numără:
- Au fost implementate noi forme de substituție a comenzilor «${command; }» și «${|command;}», care permit captarea ieșirii unei comenzi fără a crea un proces copil separat și fără a utiliza canale fără nume. Rezultatele execuției comenzii sunt returnate ca rezultat al substituției sau sunt scrise în variabila REPLY.
- A fost adătată o nouă variabilă GLOBSORT, care determină modul de sortare în timpul completării căii fișierelor. De exemplu, se poate alege sortarea după nume (GLOBSORT=name), dimensiune (GLOBSORT=size) sau timp de modificare (GLOBSORT=mtime), precum și defini ordinea de sortare (crescătoare sau descrescătoare) (de exemplu, cu «GLOBSORT=-size», cele mai mari fișiere vor fi afișate mai întâi).
- Comanda încorporată «compgen» a fost extinsă cu opțiunea «-V varname», care permite salvarea completărilor generate într-o variabilă, în loc de a le redacta în fluxul standard.
- Comanda încorporată «read» a fost extinsă cu opțiunea «-E», care utilizează biblioteca readline cu reguli de completare automată pentru construcțiile bash.
- Comanda încorporată «source» a fost extinsă cu opțiunea «-p PATH», care permite redefinirea listei de căutare pentru căile fișierelor (valoarea specificată este utilizată în locul variabilei $PATH).
- Codul sursă a fost adaptat pentru a utiliza standardul C23. Posibilitatea de a compila în modul «K&R C» (stilul corespunzător descrierii limbajului C în cartea „The C Programming Language” de Kernighan și Ritchie) a fost eliminată.
- Comanda încorporată «umask» asigură compatibilitate deplină cu specificațiile POSIX.
- A fost adăugată comanda descărcabilă «kv», care formează un array asociativ pe baza unui set de date în format „cheie valoare”.
- A fost adăugată comanda descărcabilă «strptime», care transformă reprezentarea textului datei și orei în timp epic (numărul de secunde de la 1 ianuarie 1970).
- A fost adăugată comanda descărcabilă «fltexpr», care permite efectuarea de operații aritmetice cu virgulă mobilă, similar cu comanda let.
- A fost adăugată variabila dinamică BASH_MONOSECONDS, care conține valoarea curentă a ceasului monotonic al sistemului, care crește continuu, chiar și atunci când se schimbă timpul la o valoare anterioară.
- În modul POSIX, compararea șirurilor în comanda „test”, utilizând operatorii „”, se face acum având în vedere localizarea curentă.
- În comanda „bind -x” este permisă separarea tastelor de comanda apelată, dacă secvența este închisă între ghilimele.
- În noua versiune Readline, a fost propusă opțiunea „search-ignore-case” pentru căutarea în istorie fără a ține cont de majuscule. A fost adăugată comanda „export-completions” pentru exportarea variantelor de completare a cuvintelor pentru prelucrarea în alte procese. A fost adăugată comanda „execute-named-command” pentru executarea unei comenzi, al cărei nume a fost obținut din fluxul de intrare standard.
Sursa: opennet.ro
