Po takmer troch rokoch vývoja bola zverejnená nová verzia príkazového interpretera GNU Bash 5.3, ktorý sa používa ako predvolený v väčšine distribúcií Linuxu. Súčasne bol vydaný aj release knižnice readline 8.3, ktorá sa používa v bashi na organizovanie editácie príkazového riadku.
Medzi kľúčové vylepšenia patrí:
- Implementovali sa nové formy substitúcie príkazov „${ command; }“ a „${|command;}“, ktoré umožňujú zachytiť výstup príkazu bez vytvárania samostatného podprocesu a bez použitia nepomenovaných kanálov. Výsledky vykonania príkazu sú vydávané ako výsledok substitúcie alebo sa zapisujú do premennej REPLY.
- Pridaná nová premenná GLOBSORT, ktorá určuje spôsob triedenia pri doplňovaní cesty k súborom. Napríklad, môžete zvoliť triedenie podľa mena (GLOBSORT=name), veľkosti (GLOBSORT=size) alebo času úpravy (GLOBSORT=mtime), ako aj definovať priamy (od menšieho k väčšiemu) alebo obrátený (od väčšieho k menšiemu) poriadok triedenia (napríklad pri „GLOBSORT=-size“ budú najprv zobrazené najväčšie súbory).
- Do vstavenej príkazovej funkcie „compgen“ bola pridaná možnosť „-V varname“, ktorá umožňuje uložiť generované doplnenia do premennej, namiesto výstupu do štandardného prúdu.
- Do vstavenej príkazovej funkcie „read“ bola pridaná možnosť „-E“, ktorá pri zadávaní dát aktivuje knižnicu readline s pravidlami automatického doplňovania konštrukcií bash.
- Do vstavenej príkazovej funkcie „source“ bola pridaná možnosť „-p PATH“, ktorá umožňuje predefinovať zoznam vyhľadávania v súborových cestách (uvedená hodnota sa používa namiesto premennej $PATH).
- Zdrojový kód bol prevedený na používanie štandardu C23. Bola zastavená možnosť kompilácie kompilátormi v režime „K&R C“ (štýl, ktorý zodpovedá popisu jazyka C v knihe „The C Programming Language“ od Kernighana a Ritchiego).
- Vo vstavenej príkazovej funkcii „umask“ bola zabezpečená plná kompatibilita so špecifikáciami POSIX.
- Bola pridaná načítateľná príkazová funkcia „kv“, ktorá vytvára asociatívne pole na báze množiny údajov vo formáte „kľúč hodnota“.
- Bola pridaná načítateľná príkazová funkcia „strptime“, ktorá prekonvertuje textové zobrazenie dátumu a času na epochálne čas (počet sekúnd od 1. januára 1970).
- Bola pridaná načítateľná príkazová funkcia „fltexpr“, ktorá umožňuje vykonávať aritmetické operácie s pohyblivou desatinnou čiarkou podobne ako príkaz let.
- Pridaná dynamicky nastavovaná premenná BASH_MONOSECONDS, ktorá obsahuje aktuálnu hodnotu systémových monotónnych hodín, ktoré sa nepretržite zvyšujú, aj keď sa čas posunie späť.
- V režime POSIX sa porovnávanie reťazcov v príkaze „test“ pomocou operátorov „“ teraz vykonáva so zohľadnením aktuálnej lokalizácie.
- V príkaze „bind -x“ je povolené rozdelenie klávesy a vykonávanej príkazovej sekvencie medzerou, ak je sekvencia uzavretá v dvojitých úvodzovkách.
- V novej verzii Readline bola predstavená možnosť „search-ignore-case“ na vyhľadávanie v histórii bez ohľadu na veľkosť písmen. Pridaný príkaz „export-completions“ na exportovanie návrhov doplnenia slova na spracovanie v iných procesoch. Pridaný príkaz „execute-named-command“ na vykonanie príkazu, ktorého názov bol získaný zo štandardného vstupu.
Zdroj: opennet.ru
