Brush v0.4.0

Brush v0.4.0

Brush je komandna ljuska napisana na jeziku Rust, koja kombinira kompatibilnost s POSIX-om i Bash-om sa garancijama sigurnosti memorije i performansama. Projekt ima za cilj postati potpuna alternativa tradicionalnim ljuskama, omogućavajući pokretanje postojećih skripti i korištenje .bashrc-a gotovo bez promjena. Ova verzija objedinjuje nekoliko mjeseci rada i više od 200 spojenih pull requestova, značajno napredujući ka punoj zamjeni Bash-a i POSIX-kompatibilnih okruženja.

Glavne smjernice razvoja u ovom izdanju:

  • kompatibilnost s Bash-om: dodani set -e, set -u, pipefail, failglob, obrada ERR, koprocesi i mnogo toga drugog;
  • pouzdanost: poboljšana obrada iznimaka - zatvorenih kanala, pokvarenog ispisa, ne-UTF8 povijesti i drugih;
  • platforme: proširena podrška za macOS (rad kao ulazna ljuska), poboljšano funkcioniranje na Windows-u, FreeBSD-u, Android-u i 32-bitnim sustavima;
  • interaktivnost: dodane opcijske TOML konfiguracije, preexec/precmd hook-ovi, poboljšana podrška za readline makroe i drugo.

Ključna poboljšanja Bash-kompatibilnosti

Najvažnije dorade ovog izdanja su značajno proširenje podrške za mogućnosti Bash-a. Upravljanje pogreškama:

  • set -e (errexit) – odmah izlazi u slučaju pogreške;
  • set -u (nounset) – pogreška prilikom pristupa nedeklariranoj varijabli;
  • pipefail – povratni kod cjevovoda definira se kao posljednja neuspješna komanda;
  • failglob – nedostatak podudaranja za glob izraz sada dovodi do pogreške.

Obraditelji (Traps) i koprocesi:

  • obrada ERR – omogućava izvršavanje komandi u slučaju pogreške;
  • koprocesi (coproc) – pokretanje pozadinskih procesa sa dvosmjernom vezom.

Ugrađene komande:

  • poboljšana obrada mnogih aritmetičkih konstrukcija, uključujući litre visoke osnove, preljeve i operatore dodjele;
  • ispravke i poboljšanja obuhvatila su ugrađene komande: caller, read, getopts, printf i druge.

Proširenje podrške platformi:

Izdanjem v0.4.0 ljuska postaje dostupna na širem spektru uređaja:

  • macOS: ispravljen problem zbog kojeg se ljuska smrzavala prilikom prijave. Sada se brush može koristiti kao ulazna ljuska (login shell);
  • Windows: poboljšanja u obradi putanja, dodana emulacija /dev/null, što značajno povećava praktičnost korištenja na Windows-u;
  • FreeBSD i Android: podržana je izrada za te platforme;

Interaktivne mogućnosti i API

  • Konfiguracija: dodana podrška za opcionalnu TOML konfiguracijsku datoteku (~/.config/brush/config.toml) za postavke specifične za brush;
  • Prilagodba: implementirani su zsh stilovi preexec/precmd hookova (s eksperimentalnom zastavicom), korisni za stvaranje prilagođenih poziva i alata za mjerenje vremena;
  • API za programere: tip Shell je sada parametiziran proširenjima (ShellExtensions), što programerima daje mogućnost dodavanja vlastitih ugrađenih naredbi i mijenjanja ponašanja varijabli bez potrebe za razdvajanjem projekta;
  • Razno:
    • poboljšana podrška za readline makronaredbe radi kompatibilnosti s starship, atuin i fzf (github.com);
    • dodane mogućnosti serijalizacije AST-a i stanja ljuske putem serde;
    • sada su u brush-parseru i brush-core dostupne funkcije serde za serijalizaciju AST-a i stanja ljuske.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster