
Prije nekoliko dana GNU projekat je najavio izlazak nove verzije Bash 5.3, popularni interpreter komandi koji ostaje zadani izbor na većini Linux distribucija.
Ova nova verzija predstavlja rad od skoro tri godine, koji ne samo da implementira poboljšanja jezika i ponašanja ljuske, već i uvodi nove funkcije koje ga usklađuju sa modernim standardima poput C23. Također dolazi s izdanjem biblioteke Readline 8.3.
Šta je novo u Bashu 5.3
Jedna od najznačajnijih promjena u Bash 5.3 je Uvođenje novih oblika zamjene naredbi: ${command;} i ${|command;}Ovo vam omogućava presretanje izlaza naredbe bez kreiranja podređenog procesa ili korištenja cjevovoda, čime se smanjuje potrošnja resursa i poboljšavaju performanse. Rezultat se može direktno pohraniti u varijablu REPLY, što pojednostavljuje uobičajene zadatke snimanja izlaza.
Još jedna nova funkcija uvedena u GNU Bash 5.3 je nova varijabla GLOBSORT dozvolite definirajte redoslijed sortiranja prilikom proširivanja putanja datoteka. Korisnici mogu sortirati po imenu, veličini, datumu izmjene i još mnogo toga, s opcijama za rastući i silazni redoslijed.
Osim toga, Bash 5.3 uvodi poboljšanja za nekoliko ugrađenih naredbi. Naredba compgen sada može pohraniti generirana dovršavanja u varijablu (-V naziv_varnale), dok read dodaje opciju -E za korištenje biblioteke Readline s Bashovim pravilima automatskog dovršavanja. Izvorni kod je također poboljšan, sada podržava -p PATH za modificiranje putanje pretrage.
Isto tako, naredba umask je prilagođen da u potpunosti bude u skladu sa POSIX specifikacijom., a funkcija printf je poboljšana novim opcijama za višebajtne stringove i alternativnim predstavljanjem znakova i stringova.
Kompatibilnost sa C23 i zbogom K&R C
Jedna od najvažnijih strukturnih promjena je usvajanje standarda C23 u izvornom kodu Basha. Kao rezultat toga, Podrška za kompajliranje u "K&R C" modu je uklonjena., tehnika koja datira još iz ranih dana programskog jezika C.
S druge strane, Bash 5.3 uvodi nekoliko naredbi koje se mogu učitati, kao što su:
- kV: generirati asocijativne nizove iz podataka u formatu ključ-vrijednost.
- vrijeme strpta: pretvara datume u tekstualnom formatu u Unix vrijeme.
- fltexpr: Omogućava vam izvođenje aritmetičkih operacija s pomičnim zarezom, emulirajući ponašanje funkcije let.
Takođe, Dodata je dinamička varijabla BASH_MONOSECONDSque pruža monotoni brojač sistemskog vremena, korisno za zadatke gdje je vremenska stabilnost kritična.
U POSIX modu, Bash sada vrši poređenje stringova pomoću operatora < i >. poštujući regionalne postavke. Također usklađuje ponašanje naredbi kao što su test, trap, wait i bind, strogo slijedeći zahtjeve standarda. Na primjer, trap -P vam omogućava ispis akcije trap za svaki signal, a wait -n poboljšava upravljanje prekinutim procesima i zamjenama.
Readline 8.3
Biblioteka Readline, pratilac Basha, također je dobila veliko ažuriranje. Među njenim najznačajnijim novim funkcijama su:
- pretraga-ignoriši-velika-slova: omogućava pretrage u historiji bez razlikovanja velikih i malih slova.
- izvoz-završenja: izvozi moguće dovršetke riječi za eksternu obradu.
- izvrši-imenovanu-komandu: Izvršava naredbe čija se imena čitaju sa standardnog ulaza, korisno za skriptiranje i prilagođavanje.
- Poboljšana podrška za makroe, nove konfigurabilne varijable i bolje rukovanje dimenzijama ekrana nakon nastavka rada (SIGCONT).
Instaliranje i/ili ažuriranje Basha na Linuxu
Za one koji su zainteresirani za instaliranje ili ažuriranje Basha na Linuxu, trebali biste znati da to ovisi o distribuciji koju koristite. U nastavku ću objasniti kako to učiniti na glavnim distribucijama:
Na distribucijama zasnovanim na Debianu (kao što su Ubuntu, Linux Mint)
sudo apt install --only-upgrade bash
Ovo će ažurirati Bash na najnoviju verziju dostupnu u službenim repozitorijima.
Ako ga želite instalirati od nule (na primjer, na vrlo minimalnom sistemu):
sudo apt instaliraj bash
Na distribucijama zasnovanim na Red Hatu (kao što su Fedora, CentOS, RHEL)
sudo dnf update bash Da biste instalirali Bash (ako već nije):
sudo dnf instalacija bash
Na Arch Linuxu i derivatima (kao što je Manjaro)
sudo pacman -Syu bash
Ovo će ažurirati Bash zajedno s cijelim sistemom. Da biste instalirali samo Bash:
sudo pacman -S bash