Etter nesten tre år med utvikling er den nye versjonen av kommandotolkeren GNU Bash 5.3 publisert, som brukes som standard i de fleste Linux-distribusjoner. Samtidig ble relisen av readline-biblioteket 8.3 formulert, som brukes i bash for å organisere redigering av kommandolinjen.
Blant de viktigste forbedringene er:
- Nye former for kommandoer «${ command; }» og «${|command;}» er implementert, som tillater å fange utdataene fra en kommando uten å opprette et eget underprosess og uten å bruke unnamed pipes. Resultatet av kommandoens kjøring returneres som et resultat av substitusjonen eller skrives til variabelen REPLY.
- Ny variabel GLOBSORT er lagt til, som definerer sorteringsmetoden ved autofullføring av filstier. For eksempel kan man velge sortering etter navn (GLOBSORT=name), størrelse (GLOBSORT=size) eller endringstid (GLOBSORT=mtime), samt bestemme direkte (fra minst til størst) eller omvendt (fra størst til minst) rekkefølge på sorteringen (for eksempel, med «GLOBSORT=-size», vil de største filene vises først).
- Til den innebygde kommandoen «compgen» er det lagt til en opsjon «-V varname» for å lagre genererte autocompletions i en variabel, i stedet for å skrive ut til standard strøm.
- Til den innebygde kommandoen «read» er det lagt til en opsjon «-E», som ved inndata bruker readline-biblioteket med regler for autocompletions av bash-konstruksjoner.
- Til den innebygde kommandoen «source» er det lagt til en opsjon «-p PATH», som tillater å overstyre søkelisten i filbaner (den angitte verdien brukes i stedet for variabelen $PATH).
- Kildekoden er overført til bruk av C23-standarden. Muligheten for å kompilere med K&R C-modus (stilen som er beskrevet i «The C Programming Language» av Kernighan og Ritchie) er avsluttet.
- Den innebygde kommandoen «umask» er nå fullt kompatibel med POSIX-spesifikasjoner.
- En lastbar kommando «kv» er lagt til, som danner et assosiativt array basert på et datasett i formatet «nøkkel verdi».
- En lastbar kommando «strptime» er lagt til, som konverterer tekstrepresentasjon av dato og tid til epoke tid (antall sekunder siden 1. januar 1970).
- En lastbar kommando «fltexpr» er lagt til, som gjør det mulig å utføre flyttallsoperasjoner som ligner på kommandoen let.
- Den dynamisk angitte variabelen BASH_MONOSECONDS er lagt til, som inneholder den nåværende verdien av systemets monotone klokker, som kontinuerlig øker, selv når tiden endres til et tidligere tidspunkt.
- I POSIX-modus sammenlignes strenger i kommandoen «test» med operatorene «» nå med hensyn til gjeldende lokale innstillinger.
- I kommandoen «bind -x» er det nå tillatt å dele mellomrom mellom taster og den påkallte kommandoen, så lenge sekvensen er omsluttet av dobbelte anførselstegn.
- I den nye versjonen av Readline er det introdusert et alternativ kalt «search-ignore-case» for å søke i historikken uten å ta hensyn til bokstavstørrelse. Kommandoen «export-completions» er lagt til for å eksportere fullføringsmuligheter for behandling i andre prosesser. Kommandoen «execute-named-command» er lagt til for å utføre en kommando, hvis navn er hentet fra standard inngangsstrøm.
Kilde: opennet.ru
