Két év fejlesztés után megjelent a GNU Bash 5.1 shell új verziója, ami az alapértelmezett a legtöbb Linux disztribúciónál. Ugyanakkor kialakult a readline 8.1 könyvtár kiadása, amelyet a bash-ban használtak a parancssori szerkesztés megszervezéséhez.
Ez az alapértelmezett tolmács számos ingyenes Unix rendszerben, különösen a GNU / Linux rendszereken. Ez a Mac OS X alapértelmezett héja is. A Cygwin projekt először hozta el a Windows rendszerbe, a Windows 10-ben pedig operációs rendszer opció.
A Bash 5.1 fő újdonságai
A motort úgy alakították át, hogy ál-véletlenszerű számokat hozzon létre, Amellett, hogy se hozzáadta a SRANDOM változót A rendszer ál-véletlenszám-generátorából származó 32 bites véletlen számot tartalmazó.
Az asszociatív tömböknél az összetett hozzárendelések támogatása valósul meg, amelyben a párok halmazát átadják kulcs / érték formátumban, amellett, hogy dinamikusan növeli a hash tábla méretét az asszociatív tömbhöz hozzáadott adatok típusától függően.
Egy másik kiemelkedő változás a módban van A POSIX, a folyamat-helyettesítési funkció megvalósításra kerül, ahol a parancs be- és kimenetét más parancsok fájlként kezelik.
Hozzá lettek adva új paraméterek a konverziós operátorok számára: "U", "u" és "L" a teljes karakterlánc nagybetűvé alakításához, az első karakter nagybetűvé alakításához és kisbetűvé alakításához, valamint a "K" paraméter egy asszociatív tömb megjelenítéséhez kulcs / érték formátumban.
A visszamenőleges kompatibilitási mód engedélyezéséhez most a BASH_COMPAT változót kell használnia (nem tudja beállítani a bash 5.0 kompatibilitási módot a compat50 opcióval).
Alapértelmezés szerint, A Readline engedélyezte a zárójeles beillesztési módot, ahol a vágólapról kinyert adatok menekülési szekvenciákkal vannak keretezve, hogy vizuálisan kiemeljék a vágólapról kapott adatokat. A Readline kiemeli az ilyen beszúrásokat, valamint kiemeli az inkrementális és nem inkrementális előzménykeresések során talált szöveget. Kibővült a parancsok és helyzetek száma, amelyeknél a kiemelő címkéket felülírják.
Ezen kívül se visszaadta az előző viselkedést kiterjesztésével kapcsolatos a fájl elérési útja a visszavágást tartalmazó szavak megadásakor de nem használnak speciális maszkbővítő karaktereket.
Csakúgy, mint a bash 4.4-ben, az ilyen útvonalakat már nem közlik (a Bash 5.0 módosított viselkedése összhangban volt a POSIX szabványsal, de a felhasználók negatívan fogadták, és a POSIX bizottság beleegyezett a specifikáció megváltoztatásába). Emellett a GLOBIGNORE mód figyelmen kívül hagyja a "" -t. és "..", mint a terminálban megadott elérési út komponensek.
A kivétel kezelése megváltozott a termináladatok olvasásakor a read and select konstrukciók segítségével. A beépített kiválasztási funkció csapdába esik, amikor egy jel megszakítja a belső hívást az olvasáshoz. Rekurzív indítás engedélyezett a SIGINT vezérlőknél.
A Readline automatikus vízszintes görgetést valósított meg az egysoros terminálokon.
Ezen kívül megtalálhatjuk támogatás különböző parancsikonok meghatározásához billentyűzet különböző szerkesztési módokhoz és különböző billentyűzetkiosztásokhoz a "bind -x" paranccsal.
Megvalósult a fiókok számának optimalizálása parancsok végrehajtásakor az alhéjban vagy a "bash -c" használatával. A "bash -c" futtatásakor a job végrehajtási állapota megtalálható a job paranccsal.
A mintaillesztési kód most az fnmatch hívást használja az azonosnak tűnő, de karakterkódokban eltérő karakterláncok elszámolására.
A parancs shell-transpose-szavak kerültek a readline-ba, ugyanazzal a szómeghatározással, mint a shell-forward-word szóban. Alapértelmezés szerint billentyűzet-összerendeléseket adtak hozzá a shell-forward-word, shell-backward-word, shell-transpose-words és shell-kill-word szavakhoz.
Hogyan lehet Linuxra telepíteni a Bash 5.1 verziót?
Pillanatnyilag Csak arra kell várni, hogy a Bash új verziója beépüljön a Linux disztribúciók tárházán belül, mivel ez a legjobb megoldás.
Ha szeretne még egy kicsit többet tudni, és azokat is, akik most szeretnék megszerezni ezt az új verziót, meglátogathatja a következő linket.
És ahhoz, hogy megtudd, melyik verzióval dolgozol, csak meg kell nyitnod egy terminált és kipróbálnod a három módszer bármelyikét (biztosan lesz még más is):
1) $ echo "$ {BASH_VERSION}"
2) $ bash –változat
3) Semmilyen beírás nélkül használja a kivágás és beillesztés billentyűkombinációt, azaz: Ctrl + x Ctrl + v