Bash 5.2 je že izdan in vsebuje novice, popravke in drugo

bash

Bash (Bourne Again SHell) je projekt GNU, popolna implementacija specifikacije lupine POSIX

Po skoraj 2 letih razvoja (natančneje dvajset mesecev razvoja) začetek nova različica lupine GNU bash 5.2, ki je posodobitev pete veje (5.x) in da ta izdaja popravlja več opaznih napak v bash-5.1 in uvaja številne nove funkcije.

Tisti med vami, ki šele začnete uporabljati bash, morate vedeti, da je to privzeta lupina v večini distribucij Linuxa.

Glavne novosti Bash 5.2

V tej novi različici, ki je predstavljena od Bash 5.2 opozoriti je treba, da je bilo opravljeno delo na ponovnem pisanju kode za analizo konstruktov zamenjave ukazov in zamenjava izhoda pri izvajanju drugega ukaza, kot je "$(ukaz)" ali `ukaz`. Nova izvedba kliče razčlenjevalnik bison rekurzivno. To nadomešča ad-hoc razčlenjevanje, ki je bilo uporabljeno v prejšnjih različicah, in omogoča boljše preverjanje sintakse ter veliko prej odkrije sintaksne napake.

Druga sprememba, ki izstopa v tej novi različici Bash 5.2, je izboljšano razčlenjevanje in razširitev matričnih indeksov, poleg tega je bila implementirana možnost uporabe parametrov "@" in "*" v vgrajenem ukazu za ponastavitev ključa na dano vrednost namesto ponastavitve celotne matrike.

Poleg tega je omenjeno tudi, da dodal novo nastavitev "patsub_replacement", ko je nastavljen, se znak '&' v zamenjanem nizu uporabi za zamenjavo dela niza, ki se ujema z danim vzorcem.

Tudi poudarjeno je, da obstaja nov okvir za čakalne dobe readline, ki vključuje nove
javne funkcije za nastavitev časovnih omejitev in ogled, koliko časa je še do izteka, poleg tega pa je na voljo nova možnost konfiguracije: --with-shared-termcap-library, ki prisili knjižnico readline v skupni rabi, da se poveže s knjižnico termcap v skupni rabi (ali curses /ncurses/termlib), tako da aplikacijam ni treba.

Od ostalih sprememb ki izstopajo iz te nove različice Bash 5.2:

  • Število situacij, ko dodatni procesi niso razcepljeni, je bilo razširjeno, na primer razcepitev se ne uporablja več pri uporabi konstrukta "$("
  • Implementirano novo notranje ogrodje za izračun časovnika in časovne omejitve.
  • Zagotovljena možnost, da se v času prevajanja (konfiguriraj --enable-alt-array-implementation) omogoči nadomestna implementacija polja, ki je optimizirana za največjo hitrost dostopa na račun povečane porabe pomnilnika.
  • Razširjena uporaba zamenjav $'…' in $»…» pri lokalizaciji.
  •  'printf' ima nov specifikator formata '%Q'. To deluje kot "%q", vendar uporabi katero koli določeno natančnost za prvotni argument brez narekovajev, nato narekovaje in izpiše rezultat.
  • Dodana nastavitev noexpand_translations in možnost gradnje »configure --enable-translatable-strings« za nadzor nad tem, ali je omogočena podpora za $"..." lokalizirajoče zamenjave.
  • V načinu posix lahko `printf' zdaj uporabimo long double za specifikatorje pretvorbe s plavajočo vejico, če so prisotni, sicer mora biti sicer le double.
  • Privzeto dodane in omogočene "globskipdots", da se izognete "." in ".." pri razširitvi poti..

Istočasno je bila izdana knjižnica readline 8.2, ki se uporablja v bashu za organizacijo urejanja ukazne vrstice.

Nazadnje je treba omeniti, da to različico bash je mogoče povezati s knjižnico Readline že nameščen namesto zasebne različice v lib/readline, če želite. Pomembno je le omeniti, da je različica readline-8.1 in novejše različice lahko zagotovijo vse simbole, ki jih zahteva bash-5.2, zato starejše različice knjižnice Readline ne bodo delovale pravilno.

Končno za tiste, ki želijo izvedeti nekaj več, in tudi tiste, ki želijo to novo različico dobiti zdaj, lahko obiščete naslednjo povezavo.

Kako dobiti Bash 5.2 na Linuxu?

V tem trenutku Počakati je treba, da bo vključena ta nova različica Basha znotraj skladišč distribucij Linuxa, saj je to najboljša možnost.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.