Po dvadsiatich mesiacoch vývoja bola uverejnená nová verzia príkazového interpretátora GNU Bash 5.2, ktorý je predvolene používaný vo väčšine distribúcií Linuxu. Súčasne bol vytvorený release knižnice readline 8.2, používaný v bashe na organizáciu úprav príkazového riadka.
Medzi kľúčové vylepšenia patrí:
- Bol prepisovaný kód na analýzu konštrukcií substitúcie príkazov (command substitution, podstrčenie výstupu z vykonania iného príkazu, napríklad „$(command)“ alebo `command`). Nová implementácia využíva rekurzívne volanie parseru bison a vyznačuje sa kvalitnejšou kontrolou syntaxe a skorým odhaľovaním chýb v substituovaných konštrukciách.
- Vylepšená analýza a rozbalenie indexov polí. Implementovaná možnosť používania parametrov „@“ a „*“ v zabudovanej príkazovej funkcii unset na resetovanie kľúča so zadanou hodnotou namiesto resetovania celého poľa.
- Pridaná nová nastavenie „patsub_replacement“, pri ktorej sa symbol „&“ v nahrádzanej reťazci používa na substitúciu časti reťazca, ktorá zodpovedá zadanému vzoru. Na vloženie literálu „&“ je potrebné jeho escapovanie spätným lomítkom.
- Rozšírený počet situácií, pri ktorých sa neuskutočňuje odbočenie ďalších procesov, napríklad fork sa teraz nepoužíva pri používaní konštrukcie „$“.
- Implementovaný nový interný rámec pre časovače a výpočty timeoutov.
- Poskytnutá možnosť zapínania v priebehu zostavovania (configure —enable-alt-array-implementation) alternatívnej implementácie polí, ktorá je optimalizovaná na dosiahnutie maximálnej rýchlosti prístupu na úkor zvýšenia spotreby pamäte.
- Rozšírené využitie substitúcií $’…’ a $»…», ktoré sa používajú pri lokalizácii. Pridané nastavenie noexpand_translations a možnosti zostavenia „configure —enable-translatable-strings“, ktoré ovládajú zapínanie podpory lokalizovateľných substitúcií $»…”.
- Pridaná a predvolene zapnutá nastavenie „globskipdots“, zakazujúca vrátenie „.“ a „..“ pri rozbalení ciest.
Zdroj: opennet.ru
