După douăzeci de luni de dezvoltare, a fost lansată o nouă versiune a interpretului de comandă GNU Bash 5.2, folosit în mod implicit în majoritatea distribuțiilor Linux. În același timp, a fost creat un release al bibliotecii readline 8.2, utilizată în bash pentru organizarea editării liniei de comandă.
Printre îmbunătățirile cheie se numără:
- Codul pentru analiza construcțiilor de substituție a comenzilor a fost rescris. Noua implementare utilizează apeluri recursive ale parserului bison și se distinge printr-o verificare mai bună a sintaxei și prin identificarea timpurie a erorilor în construcțiile de substituție.
- A fost îmbunătățită analiza și desfășurarea indicilor array-urilor. A fost implementată posibilitatea de a folosi parametrii „@” și „*” în comanda internă unset pentru a reseta un cheie cu o valoare dată, în loc de a reseta întregul array.
- A fost adăugată o nouă opțiune „patsub_replacement”, prin care simbolul „&” în șirul de înlocuire este folosit pentru a înlocui partea din șir care se potrivește cu un model specificat. Pentru a insera literalul „&” este necesară escaparea sa cu un backslash.
- Numărul situațiilor în care nu se efectuează bifurcarea proceselor adiționale a fost extins, de exemplu, fork-ul nu mai este aplicat când se folosește construcția „$(<file)”.
- A fost implementat un nou framework intern pentru timer și calculul timeout-urilor.
- A fost oferită posibilitatea de a activa o implementare alternativă a array-urilor în timpul compilării (configure —enable-alt-array-implementation), care este optimizată pentru a atinge cea mai mare viteză de acces în schimbul unui consum mai mare de memorie.
- Utilizarea substituțiilor $’…’ și $»…», utilizate la localizare, a fost extinsă. Au fost adăugate opțiunea noexpand_translations și opțiunea de compilare „configure —enable-translatable-strings”, care controlează activarea suportului pentru substituțiile localizabile $»…».
- A fost adăugată și activată implicit opțiunea „globskipdots”, care interzice returnarea „.” și „..” când se desfășoară căile.
Sursa: opennet.ro
