Nakon gotovo tri godine razvoja objavljena je nova verzija komandnog interpreter GNU Bash 5.3, koji se po defaultu koristi u većini Linux distribucija. Istovremeno je formirano izdanje biblioteke readline 8.3, koja se koristi u bash-u za organizaciju uređivanja komandne linije.
Od ključnih poboljšanja može se istaknuti:
- Implementirani su novi oblici zamene komandi «${ command; }» i «${|command;}», koji omogućavaju hvatanje izlaza komande bez pokretanja zasebnog podprocesa i bez korišćenja nenamenskih kanala. Rezultati izvršenja komande se vraćaju kao rezultat zamene ili se upisuju u varijablu REPLY.
- Dodana je nova varijabla GLOBSORT, koja određuje način sortiranja prilikom dopunjavanja putanje do datoteke. Na primer, može se izabrati sortiranje po imenu (GLOBSORT=name), veličini (GLOBSORT=size) ili vremenu izmene (GLOBSORT=mtime), kao i definisati direktni (od manjeg ka većem) ili obrnuti (od većeg ka manjem) redosled sortiranja (na primer, pri «GLOBSORT=-size» prvo će biti prikazane najveće datoteke).
- U ugrađenu komandu «compgen» dodana je opcija «-V varname» za čuvanje generisanih dopuna u varijabli, umesto slanja na standardni izlaz.
- U ugrađenu komandu «read» dodana je opcija «-E», koja prilikom unosa podataka koristi biblioteku readline sa pravilima automatskog dopunjavanja bash konstrukcija.
- U ugrađenu komandu «source» dodana je opcija «-p PATH», koja omogućava redefinisanje liste pretrage u putanjama do datoteka (navedena vrednost se koristi umesto varijable $PATH).
- Izvorni kod je prebačen na korišćenje standarda C23. Prekinuta je mogućnost kompajliranja od strane kompajlera u režimu «K&R C» (stila koji odgovara opisu jezika C u knjizi «The C Programming Language» Kernighana i Ritchieja).
- U ugrađenoj komandi «umask» obezbeđena je potpuna kompatibilnost sa POSIX specifikacijama.
- Dodana je učitana komanda «kv», koja formira asocijativni niz na osnovu skupa podataka u formatu «ključ vrednost».
- Dodana je učitana komanda «strptime», koja pretvara tekstualno predstavljanje datuma i vremena u epoch vreme (broj sekundi od 1. januara 1970. godine).
- Dodana je učitana komanda «fltexpr», koja omogućava izvršavanje aritmetičkih operacija sa pomičnom tačkom slično komandnoj let.
- Dodana je dinamički postavljana varijabla BASH_MONOSECONDS, koja sadrži trenutnu vrijednost sistemskih monotonskih sati, koji se neprekidno povećavaju, čak i kada se vrijeme promijeni unazad.
- U POSIX modu, usporedba nizova u naredbi «test», korištenjem operatora «», sada se vrši uzimajući u obzir trenutnu lokalizaciju.
- U naredbi «bind -x» omogućeno je razdvajanje tipki i pozvane naredbe razmakom, pod uvjetom da je sekvenca zatvorena u dvostruke navodnike.
- U novoj verziji Readline ponuđena je opcija «search-ignore-case» za pretraživanje u povijesti bez obzira na velika i mala slova. Dodana je naredba «export-completions» za izvođenje mogućnosti dopunjavanja riječi za obradu u drugim procesima. Dodana je naredba «execute-named-command» za izvođenje naredbe čije je ime primljeno iz standardnog ulaza.
Izvor: opennet.ru
