Po dvadsiatich mesiacoch vývoja bola zverejnená nová verzia interpretera príkazov GNU Bash 5.2, ktorý sa štandardne používa vo väčšine distribúcií Linuxu. Súčasne bolo vytvorené vydanie knižnice readline 8.2, ktorá sa používa v bash na organizáciu úprav príkazového riadku.
Medzi kľúčové vylepšenia patria:
- Prepísaný kód na analýzu konštrukcií nahradenia príkazov (náhrada príkazov, náhrada výstupu z vykonania iného príkazu, napríklad „$(príkaz)“ alebo „príkaz“). Nová implementácia využíva rekurzívne volanie analyzátora bizónov a ponúka lepšiu kontrolu syntaxe a včasnú detekciu chýb v nahradených štruktúrach.
- Vylepšená analýza a rozšírenie indexov poľa. Implementovaná možnosť použiť parametre „@“ a „*“ v zabudovanom príkaze unset na resetovanie kľúča s danou hodnotou namiesto resetovania celého poľa.
- Pridané nové nastavenie „patsub_replacement“, keď je nastavené, znak „&“ v nahradenom reťazci sa používa na nahradenie časti reťazca, ktorá zodpovedá zadanému vzoru. Ak chcete vložiť doslovné „&“, musíte ho opustiť spätnou lomkou.
- Počet situácií, v ktorých nie sú forkované ďalšie procesy, sa rozšíril, napríklad fork sa už nepoužíva pri použití „$(
- Bol implementovaný nový interný rámec pre časovače a výpočty časového limitu.
- Vo fáze zostavovania je možné povoliť alternatívnu implementáciu polí (configure —enable-alt-array-implementation), ktorá je optimalizovaná na dosiahnutie maximálnej prístupovej rýchlosti za cenu zvýšenej spotreby pamäte.
- Rozšírilo sa používanie substitúcií $'...' a $"..." používaných počas lokalizácie. Pridané nastavenie noexpand_translations a možnosť zostavenia „configure --enable-translatable-strings“ na kontrolu, či je povolená podpora pre lokalizovateľné substitúcie $"...".
- Pridané a predvolene povolené nastavenie „globskipdots“, ktoré zakazuje vrátenie „.“ a ".." pri otváraní ciest.
Zdroj: opennet.ru