Brush v0.4.0

Brush v0.4.0

Brush on komandorite shell, mis on kirjutatud Rustis, ühendab POSIX ja Bash ühilduvuse mälu turvalisuse ja jõudlusega. Projekt püüab saada täieõiguslikuks alternatiiviks traditsioonilistele shell'idele, võimaldades olemasolevaid skripte käivitada ja kasutada .bashrc praktiliselt muutmata. See versioon koondab mitu kuud tööd ja rohkem kui 200 ühendatud pull-request'i, edendades shell'i oluliselt teel Bash'i ja POSIX-ühilduvate keskkondade täieõiguslikuks asenduseks.

Selles väljalaskes keskendutakse järgmistele valdkondadele:

  • Bash-ühilduvus: lisatud set -e, set -u, pipefail, failglob, ERR töötleja, kaasperioodid ja palju muud;
  • Usaldusväärsus: parendatud erandite käsitlemine - suletud kanalid, kahjustatud väljund, mitte-UTF8 ajalugu ja muud;
  • Platvormid: laiendatud tugi macOS-ile (töötamine sissepääsu shellina), parendatud toimimine Windowsis, FreeBSD-s, Androidis ja 32-bitistes süsteemides;
  • Interaktiivsus: lisatud valikulised TOML-konfiguratsioonid, preexec/precmd-hookid, parandatud readline makrode tugi ja muud.

Bash-ühilduvuse peamised täiustused

Selle versiooni olulisemad täiustused hõlmavad Bashi võimaluste laialdast toetuse laiendamist. Vigade haldamine:

  • set -e (errexit) – kohene väljumine vea korral;
  • set -u (nounset) – viga, kui pöördutakse deklareerimata muutuja poole;
  • pipefail – toru tagastamise kood määratakse viimase ebaõnnestunud käsu järgi;
  • failglob – sobimiste puudumine glob-avaldises toob nüüd kaasa vea.

Käitlejad (Traps) ja kaasprotsessid:

  • käitleja ERR — võimaldab käivitada käske vea korral;
  • kaasprotsessid (coproc) — taustprotsesside käivitamine kahepoolse suhtlusega.

Sisseehitatud käsud:

  • paljude aritmeetiliste konstruktsioonide, sealhulgas kõrge aluse, ülevoolu ja määramisoperaatorite töötlemine on paranenud;
  • parandused ja täiustused on mõjutanud sisseehitatud käske: caller, read, getopts, printf ja teised.

Platvormide toe laiendamine:

v0.4.0 väljaanne teeb shelli kättesaadavaks laiemas seadmete valikus:

  • macOS: parandatud probleem, mille tõttu shell külmus sisselogimisel. Nüüd saab brush’i kasutada sisselogimisshellina.
  • Windows: parenduste töötluse parandused, lisatud /dev/null emulatsioon, mis muudab Windowsi kasutamise oluliselt mugavamaks;
  • FreeBSD ja Android: toetus nende platvormide jaoks;

Interaktiivsed võimalused ja API

  • Konfiguratsioon: lisatud valikuline TOML-konfiguratsiooni fail (~/.config/brush/config.toml) brush-spetsiifiliste seadete jaoks;
  • Kohandamine: rakendatud zsh preexec/precmd stiilide hookid (ekspperimental lipu all), mis on kasulikud kohandatud kutsete ja ajamõõtmise tööriistade loomiseks;
  • Arendajate API: Shell tüüp on nüüd parameetriseeritud laiendustega (ShellExtensions), mis võimaldab arendajatel lisada oma sisseehitatud käske ja muuta muutujaid ilma projekti forkimata;
  • Erinev:
    • parandatud readline makrode toe ühilduvus starship, atuin ja fzf (github.com);
    • lisatud AST ja shelli oleku serialiseerimise võimalused läbi serde;
    • nüüd on brush-parseris ja brush-core'is saadaval serde funktsioonid AST ja shelli oleku serialiseerimise võimaluste jaoks.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster