Efter tjugo mÄnaders utveckling har den nya versionen av kommandotolkningen GNU Bash 5.2 publicerats, som anvÀnds som standard i de flesta Linux-distributioner. Samtidigt slÀpptes biblioteket readline 8.2, som anvÀnds i bash för att hantera redigering av kommandoraden.
NÄgra av de viktigaste förbÀttringarna inkluderar:
- Koden för att tolka kommandosubstitution (command substitution, att hÀmta utdata av ett annat kommando, till exempel «$(command)» eller `command`) har skrivits om. Den nya implementationen anvÀnder rekursiv anropning av bison-tolken och kÀnnetecknas av en bÀttre syntaktisk kontroll och tidigare identifiering av fel i substituerade konstruktioner.
- Tolkningen och expansionen av array-index har förbÀttrats. Möjligheten att anvÀnda parametrarna «@» och «*» i det inbyggda kommandot unset för att ÄterstÀlla en nyckel med ett angivet vÀrde istÀllet för att ÄterstÀlla hela arrayen har implementerats.
- En ny instÀllning «patsub_replacement» har lagts till, dÀr tecknet «&» i den ersatta strÀngen anvÀnds för att sÀtta in en del av strÀngen som matchar det angivna mönstret. För att infoga litteralen «&» mÄste den backslashas.
- Antalet situationer i vilka det inte görs en avknoppning av extra processer har utökats, till exempel tillÀmpas inte fork vid anvÀndningen av konstruktionen «$(<file)».
- Ett nytt internt ramverk för tidtagning och berÀkning av tidsgrÀnser har implementerats.
- Möjligheten att inkludera en alternativ implementation av arrayer, som Ă€r optimerad för maximal Ă„tkomsthastighet pĂ„ bekostnad av ökad minnesanvĂ€ndning, har tillhandahĂ„llits under byggfasen (configure âenable-alt-array-implementation).
- AnvĂ€ndningen av substituten $'âŠ' och $"âŠ", som anvĂ€nds vid lokalisering, har utökats. InstĂ€llningen noexpand_translations och byggalternativet «configure âenable-translatable-strings» har lagts till för att kontrollera inkluderingen av stöd för lokaliseringbara substitutioner $"âŠ".
- En ny instÀllning «globskipdots» har lagts till och aktiverats som standard, vilket förbjuder ÄterlÀmning av «.» och «..» vid vÀgexpansion.
KĂ€lla: opennet.ru
