Po skoraj treh letih razvoja je izdana nova različica ukaznega interpreterja GNU Bash 5.3, ki se privzeto uporablja v večini distribucij Linuxa. Hkrati je izšla nova različica knjižnice readline 8.3, ki se uporablja v bashu za urejanje ukazne vrstice.
Ključne izboljšave vključujejo:
- Realizirane so nove oblike zamenjave ukazov «${ command; }» in «${|command;}», ki omogočajo zajemanje izhoda ukaza brez ustvarjanja ločenega podprocessa in brez uporabe imenovanih cevi. Rezultati izvajanja ukaza se vrnejo kot rezultat zamenjave ali se shranijo v spremenljivko REPLY.
- Dodana je nova spremenljivka GLOBSORT, ki določa način sortiranja pri dopolnjevanju poti do datoteke. Na primer, lahko izberete sortiranje po imenu (GLOBSORT=name), velikosti (GLOBSORT=size) ali času spremembe (GLOBSORT=mtime), pa tudi določite neposreden (od manjšega k večjemu) ali obratni (od večjega k manjšemu) vrstni red sortiranja (na primer, pri «GLOBSORT=-size» bodo na začetku prikazane največje datoteke).
- V vgrajeno ukaz «compgen» je dodana možnost «-V varname» za shranjevanje generiranih dopolnil v spremenljivko, namesto da bi jih izpisali v standardni tok.
- V vgrajeno ukaz «read» je dodana možnost «-E», ki ob vnosu podatkov uporablja knjižnico readline z pravili za samodejno dopolnjevanje bash konstrukcij.
- V vgrajeni ukaz «source» je dodana možnost «-p PATH», ki omogoča nadomestitev seznama iskanja v datotečnih poteh (navedena vrednost se uporablja namesto spremenljivke $PATH).
- Izvorna koda je bila preusmerjena na uporabo standarda C23. Prenehana je možnost sestavljanja z uporabo prevajalnikov v načinu «K&R C» (stil, ki ustreza opisu jezika C v knjigi «The C Programming Language» Kernighana in Ritchieja).
- V vgrajenem ukazu «umask» je zagotovljena popolna skladnost s specifikacijami POSIX.
- Dodano je nalagano ukaz «kv», ki oblikuje asociativno polje na osnovi nabora podatkov v formatu «ključ vrednost».
- Dodano je nalagano ukaz «strptime», ki pretvarja besedilno predstavo datuma in časa v epoch čas (število sekund od 1. januarja 1970).
- Dodano je nalagano ukaz «fltexpr», ki omogoča izvajanje aritmetičnih operacij s plavajočo vejico po podobnosti z ukazom let.
- Dodana je dinamički postavljena varijabla BASH_MONOSECONDS koja sadrži trenutnu vrednost sistemskih monotonskih sati, koja se neprekidno povećava čak i kada se vreme menja unazad.
- U POSIX režimu, upoređivanje stringova u komandi 'test', koristeći operatore '', sada se vrši uzimajući u obzir trenutnu lokalizaciju.
- U komandi 'bind -x' dozvoljeno je odvajanje tastera i pozvane komande razmakom, ukoliko je sekvenca stavljena u dvostruke navodnike.
- U novoj verziji Readline uvedena je opcija 'search-ignore-case' za pretragu u istoriji bez obzira na veličinu slova. Dodana je komanda 'export-completions' za izvoz opcija dopunjavanja reči za obradu u drugim procesima. Dodana je komanda 'execute-named-command' za izvršavanje komande čije ime se dobija iz standardnog ulaza.
Izvor: opennet.ru
