Bash 5.3 este aici cu o substituție îmbunătățită a comenzilor, variabile noi și suport pentru C23.

bash Linux

Acum câteva zile, proiectul GNU a anunțat lansarea noii versiuni de Bash 5.3, popularul interpretor de comenzi care rămâne opțiunea implicită în majoritatea distribuțiilor Linux.

Această nouă versiune reprezintă aproape trei ani de muncă , timp în care nu numai că s-au adus îmbunătățiri limbajului și comportamentului shell-ului, dar au fost introduse și noi caracteristici pentru a-l alinia la standardele moderne, cum ar fi C23. De asemenea, este însoțită de lansarea bibliotecii Readline 8.3.

Ce este nou în Bash 5.3

Una dintre cele mai notabile schimbări din Bash 5.3 este introducerea unor noi metode de substituție a comenzilor: `${ command; }` și `${|command;}` . Acestea vă permit să interceptați ieșirea unei comenzi fără a crea un proces copil sau a utiliza conducte, reducând astfel consumul de resurse și îmbunătățind performanța. Rezultatul poate fi stocat direct în variabila `REPLY`, simplificând sarcinile comune de captare a ieșirii.

O altă funcționalitate nouă introdusă în GNU Bash 5.3 este noua variabilă GLOBSORT, care vă permite să definiți criteriile de sortare la extinderea căilor de fișiere. Utilizatorii pot sorta după nume, dimensiune, data modificării și multe altele, cu opțiuni atât pentru ordine ascendentă, cât și pentru ordine descendentă.

În plus, Bash 5.3 introduce îmbunătățiri la mai multe comenzi încorporate. Comanda `compgen` poate acum stoca completările generate într-o variabilă (`-V numevariabilă`), în timp ce `read` include acum opțiunea `-E` pentru a utiliza biblioteca Readline cu regulile de autocompletare Bash. `source` a fost, de asemenea, îmbunătățit, acceptând acum `-p PATH` pentru a modifica calea de căutare.

În plus, comanda umask a fost ajustată pentru a respecta pe deplin specificația POSIX , iar printf a fost îmbunătățită cu noi opțiuni pentru șiruri de caractere pe mai mulți octeți și reprezentare alternativă a caracterelor și șirurilor de caractere.

Compatibilitatea C23 și adio K&R C

Una dintre cele mai semnificative schimbări structurale este adoptarea standardului C23 în codul sursă Bash. Drept urmare, a fost eliminat suportul pentru compilarea în modul „K&R C” , o tehnică care datează din primele zile ale limbajului C.

Pe de altă parte, Bash 5.3 introduce mai multe comenzi încărcabile, cum ar fi:

  • kv: pentru a genera tablouri asociative din date în format cheie-valoare.
  • timp de stripare: convertește datele din format text în ora Unix.
  • fltexpr: vă permite să efectuați operații aritmetice cu virgulă mobilă, emulând comportamentul lui let.

În plus, este adăugată variabila dinamică BASH_MONOSECONDS , care oferă un contor de timp monoton al sistemului , util pentru sarcinile în care stabilitatea temporală este critică.

În modul POSIX, Bash efectuează acum comparații de șiruri de caractere cu operatorii < și >, respectând în același timp setările regionale. De asemenea, aliniază comportamentul comenzilor precum test, trap, wait și bind, respectând îndeaproape cerințele standardului. De exemplu, `trap -P` vă permite să afișați acțiunea de captare pentru fiecare semnal, iar `wait -n` îmbunătățește gestionarea proceselor terminate și a substituțiilor.

Readline 8.3

Biblioteca Readline, o versiune complementară a Bash, a primit și ea o actualizare majoră. Printre cele mai notabile caracteristici noi se numără:

  • căutare-ignorare-minuscule/minuscule: permite căutări în istoric fără a ține cont de majuscule/minuscule.
  • finalizări-export: exportă posibilele completări ale unui cuvânt pentru procesare externă.
  • executați-comanda-numită: Execută comenzi al căror nume este citit din intrarea standard, util pentru scripting și personalizare.
  • Suport îmbunătățit pentru macrocomenzi, noi variabile configurabile și o mai bună gestionare a dimensiunilor ecranului după un CV (SIGCONT).

Instalarea și/sau actualizarea Bash pe Linux

Pentru cei interesați să instaleze sau să actualizeze Bash pe Linux, trebuie să știți că depinde de distribuția pe care o utilizați. Mai jos, voi explica cum se face acest lucru pe principalele distribuții:

Pe distribuțiile bazate pe Debian (cum ar fi Ubuntu, Linux Mint)

sudo apt install --only-upgrade bash

Aceasta va actualiza Bash la cea mai recentă versiune disponibilă în repozitoriile oficiale.

Dacă vrei să îl instalezi de la zero (de exemplu, pe un sistem foarte minimalist):

sudo apt instalează bash

Pe distribuțiile bazate pe Red Hat (cum ar fi Fedora, CentOS, RHEL)

sudo dnf update bash Pentru a instala Bash (dacă nu este deja instalat):
sudo dnf instalează bash

Pe Arch Linux și derivate (cum ar fi Manjaro)

sudo pacman -syu bash

Aceasta va actualiza Bash împreună cu întregul sistem. Pentru a instala doar Bash:

sudo pacman -S bash

Adăugați ca sursă preferată în Google