Štetec v0.4.0

Štetec v0.4.0

Brush je príkazový shell napísaný v jazyku Rust, ktorý kombinuje kompatibilitu s POSIX a Bash so zárukami bezpečnosti pamäte a výkonu. Cieľom projektu je stať sa plnohodnotnou alternatívou k tradičným shellom, čo umožní spúšťanie existujúcich skriptov a používanie súboru .bashrc prakticky bez zmeny. Táto verzia predstavuje niekoľko mesiacov práce a viac ako 200 zlúčených pull requestov, čo výrazne posúva shell smerom k tomu, aby sa stal plnohodnotnou náhradou za Bash a prostredia kompatibilné s POSIX.

Kľúčové oblasti rozvoja v tejto problematike:

  • Kompatibilita s Bash: pridané set -e, set -u, pipefail, failglob, obslužný program ERR, koprocesy a mnoho ďalšieho;
  • spoľahlivosť: vylepšené spracovanie výnimočných prípadov – zatvorené kanály, poškodený výstup, história iná ako UTF8 a iné;
  • Platformy: Rozšírená podpora macOS (funguje ako vstupný shell), vylepšená práca na Windows, FreeBSD, Android a 32-bitové systémy;
  • Interaktivita: pridané voliteľné konfigurácie TOML, hooky preexec/precmd, vylepšená podpora makier readline a ďalšie.

Vylepšenia kompatibility s Key Bash

Najdôležitejšími vylepšeniami v tejto verzii bolo výrazné rozšírenie podpory funkcií Bash. Správa chýb:

  • set -e (errexit) – okamžitý návrat pri chybe;
  • set -u (podstatné meno) – chyba pri prístupe k nedeklarovanej premennej;
  • pipefail – návratový kód pipeline je určený posledným neúspešným príkazom;
  • failglob – Ak sa nenájde zhoda s výrazom typu glob, teraz sa vyskytne chyba.

Obsluha (pasce) a koprocesy:

  • Obsluha ERR - umožňuje vykonávať príkazy, keď sa vyskytne chyba;
  • koprocesy (coproc) - spúšťanie procesov na pozadí s obojsmernou komunikáciou.

Vstavané príkazy:

  • Vylepšené spracovanie mnohých aritmetických konštruktov vrátane literálov s vysokým radixom, pretečenia a operátorov priradenia;
  • Opravy a vylepšenia ovplyvnili vstavané príkazy: caller, read, getopts, printf a ďalšie.

Rozšírenie podpory platformy:

Verzia 0.4.0 sprístupňuje shell na širšej škále zariadení:

  • macOSOpravený problém, kedy sa shell pri prihlasovaní zasekával. Brush je teraz možné použiť ako prihlasovací shell;
  • WindowsVylepšenia v spracovaní ciest, pridaná emulácia /dev/null, ktorá výrazne zlepšuje použiteľnosť na Windows;
  • FreeBSD a Android: assembly pre tieto platformy sú podporované;

Interaktívne funkcie a API

  • konfiguráciaPridaná podpora pre voliteľný konfiguračný súbor TOML (~/.config/brush/config.toml) pre nastavenia špecifické pre štetce;
  • PrispôsobenieImplementované hooky preexec/precmd v štýle zsh (za experimentálnym príznakom), užitočné na vytváranie vlastných výziev a nástrojov načasovania;
  • API pre vývojárovTyp Shell je teraz parametrizovaný rozšíreniami (ShellExtensions), čo umožňuje vývojárom pridávať vlastné vstavané príkazy a meniť správanie premenných bez nutnosti rozvetvenia projektu.
  • rôzne:
    • Vylepšená podpora makier readline pre kompatibilitu s Starship, atuín и fzf (github.com);
    • Pridané možnosti serializácie AST a stavu shellu cez serde;
    • Funkcie serde sú teraz dostupné v brush-parser a brush-core, ktoré umožňujú serializáciu AST a stavu shellu.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster