Brush v0.4.0

Brush v0.4.0

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

Glavne točke razvoja u ovom izdanju:

  • kompatibilnost s Bashom: dodani set -e, set -u, pipefail, failglob, obrada ERR, koprocesi i mnogo toga drugog;
  • pouzdanost: poboljšana obrada iznimaka – zatvorenih kanala, pokvarenog izlaza, ne-UTF8 povijesti i drugih;
  • platforme: proširena podrška za macOS (rad kao ulazna ljuska), poboljšana funkcionalnost na Windowsu, FreeBSD, Androidu i 32-bitnim sustavima;
  • interaktivnost: dodane opcionalne TOML konfiguracije, preexec/precmd hookovi, poboljšana podrška za readline makroe i drugu.

Ključna poboljšanja Bash-kompatibilnosti

Najvažnija poboljšanja ovog izdanja bila su značajno proširenje podrške za mogućnosti Basha. Upravljanje pogreškama:

  • set -e (errexit) – odmah izlazi pri pogrešci;
  • set -u (nounset) – pogreška prilikom pristupa nezaštićenoj varijabli;
  • pipefail – kod povratka cjevovoda određuje posljednja neuspješna komanda;
  • failglob – nedostatak podudaranja za glob izraz sada dovodi do pogreške.

Obradnici (Traps) i koprocesi:

  • obradnik ERR – omogućuje izvršavanje komandi prilikom pojave pogreške;
  • koprocesi (coproc) – pokretanje pozadinskih procesa s dvosmjernom komunikacijom.

Ugrađene komande:

  • poboljšana obrada mnogih aritmetičkih konstrukcija, uključujući literale s visokim bazama, preljeve i operatore dodjele;
  • popravci i poboljšanja obuhvatili su ugrađene komande: caller, read, getopts, printf i druge.

Proširenje podrške platformama:

Izdanje v0.4.0 čini ljusku dostupnom na širem spektru uređaja:

  • macOS: ispravljeni problemi koji su uzrokovali zastoje prilikom prijave. Sada je brush moguće koristiti kao ulaznu ljusku (login shell);
  • Windows: poboljšanja u obradi putanja, dodana emulacija /dev/null, što značajno povećava korisnost na Windowsu;
  • FreeBSD in Android: podpora za te platforme je vključena;

Interaktivne možnosti in API

  • Конфигурация: dodana podpora za opcijsko TOML konfiguracijsko datoteko (~/.config/brush/config.toml) za nastavitve specifične za brush;
  • Prilagoditev: uresničene zsh slogi preexec/precmd hooki (za eksperimentalno zastavico), koristni za ustvarjanje prilagojenih pozivov in orodij za merjenje časa;
  • API za razvijalce: tip Shell je sedaj parametiziran z razširitvami (ShellExtensions), kar omogoča razvijalcem dodajanje lastnih vgrajenih ukazov in spremembo obnašanja spremenljivk brez potrebe po forkanju projekta;
  • Razno:
    • izboljšana podpora za readline makre za združljivost s starship, atuin in fzf (github.com);
    • dodane možnosti za serializacijo AST in stanja lupine preko serde;
    • sedaj so v brush-parser in brush-core dostopne funkcije serde za serializacijo AST in stanja lupine.

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster