Bash 5.3 je tu s vylepšenou substitúciou príkazov, novými premennými a podporou C23.

bash Linux

Pred niekoľkými dňami projekt GNU oznámil vydanie novej verzie Bash 5.3, populárneho interpreta príkazov, ktorý zostáva predvolenou možnosťou vo väčšine linuxových distribúcií.

Táto nová verzia predstavuje takmer tri roky práce , počas ktorých sa vylepšil nielen jazyk a správanie shellu, ale boli zavedené aj nové funkcie, ktoré ho zosúladia s modernými štandardmi, ako je C23. Sprevádza ju aj vydanie knižnice Readline 8.3.

Čo je nové v Bash 5.3

Jednou z najvýznamnejších zmien v Bash 5.3 je zavedenie nových metód nahrádzania príkazov: `${ command; }` a `${|command;}` . Tieto metódy umožňujú zachytiť výstup príkazu bez vytvorenia podradeného procesu alebo použitia kanálov, čím sa znižuje spotreba zdrojov a zlepšuje výkon. Výsledok je možné uložiť priamo do premennej `REPLY`, čo zjednodušuje bežné úlohy zachytávania výstupu.

Ďalšou novou funkciou zavedenou v GNU Bash 5.3 je nová premenná GLOBSORT, ktorá umožňuje definovať kritériá triedenia pri rozbaľovaní ciest k súborom. Používatelia môžu triediť podľa názvu, veľkosti, dátumu úpravy a ďalších parametrov s možnosťami vzostupného aj zostupného poradia.

Okrem toho Bash 5.3 prináša vylepšenia niekoľkých vstavaných príkazov. Príkaz `compgen` teraz môže ukladať vygenerované dokončovania do premennej (`-V názov_premennej`), zatiaľ čo `read` teraz obsahuje možnosť `-E` na použitie knižnice Readline s pravidlami automatického dopĺňania Bashu. `source` bol tiež vylepšený a teraz podporuje `-p PATH` na úpravu cesty vyhľadávania.

Okrem toho bol príkaz umask upravený tak, aby plne vyhovoval špecifikácii POSIX , a funkcia printf bola vylepšená o nové možnosti pre viacbajtové reťazce a alternatívnu reprezentáciu znakov a reťazcov.

Kompatibilita s C23 a zbohom K&R C

Jednou z najvýznamnejších štrukturálnych zmien je prijatie štandardu C23 v zdrojovom kóde Bash. V dôsledku toho bola odstránená podpora pre kompiláciu v režime „K&R C“ , čo je technika, ktorá pochádza z raných dní jazyka C.

Na druhej strane, Bash 5.3 zavádza niekoľko načítateľných príkazov, ako napríklad:

  • kV: generovať asociatívne polia z údajov vo formáte kľúč-hodnota.
  • čas strptu: konvertuje dátumy v textovom formáte na čas systému Unix.
  • fltexpr: umožňuje vykonávať aritmetické operácie s pohyblivou rádovou čiarkou, čím emuluje správanie funkcie let.

Okrem toho bola pridaná dynamická premenná BASH_MONOSECONDS , ktorá poskytuje monotónne počítadlo systémového času , užitočné pre úlohy, kde je časová stabilita kritická.

V režime POSIX teraz Bash vykonáva porovnávanie reťazcov s operátormi < a >, pričom rešpektuje nastavenia lokácie. Taktiež zosúlaďuje správanie príkazov ako test, trap, wait a bind, pričom dôsledne dodržiava požiadavky štandardu. Napríklad `trap -P` umožňuje vypísať akciu trap pre každý signál a `wait -n` zlepšuje spracovanie ukončených procesov a substitúcií.

Čítanie riadku 8.3

Knižnica Readline, ktorá je doplnkom k knižnici Bash, tiež prešla významnou aktualizáciou. Medzi jej najvýznamnejšie nové funkcie patria:

  • vyhľadávanie-ignorovať-veľké-písmená: umožňuje vyhľadávanie v histórii bez rozlišovania malých a veľkých písmen.
  • dokončenia exportu: exportuje možné dokončenia slova na externé spracovanie.
  • vykonať-pomenovaný-príkaz: Vykonáva príkazy, ktorých názov sa číta zo štandardného vstupu, čo je užitočné pre skriptovanie a prispôsobovanie.
  • Vylepšená podpora makier, nové konfigurovateľné premenné a lepšie spracovanie rozmerov obrazovky po obnovení (SIGCONT).

Inštalácia a/alebo aktualizácia Bashu v systéme Linux

Pre tých, ktorí majú záujem o inštaláciu alebo aktualizáciu Bash v Linuxe, by ste mali vedieť, že to závisí od distribúcie, ktorú používate. Nižšie vysvetlím, ako to urobiť v hlavných distribúciách:

Na distribúciách založených na Debiane (ako napríklad Ubuntu, Linux Mint)

sudo apt install --only-upgrade bash

Týmto sa Bash aktualizuje na najnovšiu verziu dostupnú v oficiálnych repozitároch.

Ak ho chcete nainštalovať od začiatku (napríklad na veľmi minimalistický systém):

sudo apt nainštalovať bash

Na distribúciách založených na Red Hat (ako napríklad Fedora, CentOS, RHEL)

sudo dnf update bash Ak chcete nainštalovať Bash (ak ešte nie je nainštalovaný):
sudo dnf nainštalovať bash

V Arch Linuxe a jeho derivátoch (ako napríklad Manjaro)

sudo pacman -Syu bash

Týmto sa aktualizuje Bash spolu s celým systémom. Ak chcete nainštalovať iba Bash:

sudo pacman -S bash

Pridať ako preferovaný zdroj v Google