Brush v0.4.0

Brush v0.4.0

A Brush – egy parancssori felület, amely Rust nyelven készült, és ötvözi a POSIX és a Bash kompatibilitását a memória biztonsági garanciáival és teljesítménnyel. A projekt célja, hogy teljes értékű alternatívája legyen a hagyományos parancssori felületeknek, lehetővé téve a meglévő szkriptek futtatását és a .bashrc használatát szinte változtatás nélkül. Ez a verzió több hónap munkáját és több mint 200 egyesített pull-requestet tartalmaz, jelentősen elősegítve a felület Bash és POSIX-kompatibilis környezetekkel való helyettesítését.

A fejlesztési irányvonalak ebben a kiadásban:

  • Bash kompatibilitás: added set -e, set -u, pipefail, failglob, ERR kezelő, koprocesszorok és sok más;
  • megbízhatóság: javított hibakezelés - zárt csatornák, sérült kimenet, nem UTF-8 történet és mások;
  • platformok: kibővített támogatás macOS-re (belépési shell-ként való működés), javított fájlkezelés Windows, FreeBSD, Android és 32 bites rendszerek alatt;
  • interaktivitás: opcionális TOML-konfigurációk, preexec/precmd hookok hozzáadása, javított readline makrók támogatása és más.

A Bash-kompatibilitás kulcsfontosságú fejlesztései

A verzió legfontosabb fejlesztései közé tartozik a Bash lehetőségeinek jelentős bővítése. Hiba kezelés:

  • set -e (errexit) – azonnali kilépés hiba esetén;
  • set -u (nounset) – hiba egy nem deklarált változó elérésekor;
  • pipefail – a cső kimeneti kódja az utolsó meghibásodott parancs által határozódik meg;
  • failglob – a glob kifejezéshez nem tartozó találat esetén most hiba lép fel.

Traps és koprocesszorok:

  • ERR kezelő – parancsok futtatása hiba esetén;
  • kocoprocok (coproc) – kétirányú kommunikációval rendelkező háttérfolyamatok indítása.

Beépített parancsok:

  • javították sok aritmetikai konstrukció kezelését, beleértve a magas alapú literálokat, a túlcsordulásokat és a hozzárendelési operátorokat;
  • javítások és fejlesztések érintették a beépített parancsokat: caller, read, getopts, printf és mások.

Platformtámogatás kiterjesztése:

A v0.4.0 kiadás a shellt szélesebb spektrumú eszközökön teszi elérhetővé:

  • macOS: javították a problémát, ami miatt a shell a belépéskor akadt. Most a brush használható belépési shell-ként;
  • Windows: fejlesztések a fájlkezelésben, hozzáadva a /dev/null emulációt, amely jelentősen növeli a használhatóságot Windows alatt;
  • A FreeBSD és Android: támogatott a build ezekhez a platformokhoz;

Interaktív lehetőségek és API

  • Konfiguráció: hozzáadva a TOML-konfigfájl opcionális támogatása (~/.config/brush/config.toml) a brush-specifikus beállításokhoz;
  • Testreszabás: implementálva a zsh preexec/precmd hook stílusok (kísérleti flag mögött), hasznos az egyedi promptok és időmérő eszközök létrehozásához;
  • API fejlesztőknek: a Shell típusa most paraméterezhető kiterjesztésekkel (ShellExtensions), lehetővé téve a fejlesztők számára, hogy saját beépített parancsokat adjanak hozzá és módosítsák a változók viselkedését a projekt forks nélkül;
  • Vegyes:
    • javított readline makró támogatás a starship, atuin és fzf (github.com);
    • hozzáadott AST és shell állapot sorosítási lehetőségek a serde-on keresztül;
    • most a brush-parser és a brush-core funkciók elérhetők a serde képességekkel az AST és shell állapot sorosítására.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster