İyirmi aylıq inkişafdan sonra, əksər Linux paylamalarında standart olaraq istifadə edilən GNU Bash 5.2 əmr tərcüməçisinin yeni versiyası nəşr olundu. Eyni zamanda, əmr satırının redaktəsini təşkil etmək üçün bash-da istifadə edilən readline 8.2 kitabxanasının buraxılışı yaradıldı.
Əsas təkmilləşdirmələrə aşağıdakılar daxildir:
- Əmr əvəzetmə konstruksiyalarını təhlil etmək üçün yenidən yazılmış kod (əmr əvəzi, başqa bir əmrin yerinə yetirilməsindən çıxışın dəyişdirilməsi, məsələn, “$(command)” və ya “command”). Yeni tətbiq bizon analizatoruna rekursiv çağırışdan istifadə edir və daha yaxşı sintaksis yoxlanışı və dəyişdirilmiş strukturlarda səhvlərin erkən aşkarlanması xüsusiyyətlərinə malikdir.
- Massiv indekslərinin təkmilləşdirilmiş təhlili və genişləndirilməsi. Bütün massivi sıfırlamaq əvəzinə verilmiş dəyərə malik açarı sıfırlamaq üçün quraşdırılmış təyin edilməmiş komandada “@” və “*” parametrlərindən istifadə etmək imkanı həyata keçirilib.
- Yeni “patsub_replacement” parametri əlavə edildi, təyin edildikdə, dəyişdirilmiş sətirdəki “&” simvolu göstərilən nümunəyə uyğun gələn sətir hissəsini əvəz etmək üçün istifadə olunur. Hərfi “&” hərfini daxil etmək üçün tərs kəsişmə ilə ondan qaçmalısınız.
- Əlavə proseslərin çəngəllənmədiyi vəziyyətlərin sayı genişləndirilib, məsələn, “$(” istifadə edərkən çəngəl artıq istifadə edilmir.
- Taymerlər və vaxt aşımı hesablamaları üçün yeni daxili çərçivə tətbiq edilmişdir.
- Quraşdırma mərhələsində massivlərin alternativ tətbiqini aktivləşdirmək mümkündür (konfiqurasiya —enable-alt-array-inmplementation), bu, artan yaddaş istehlakı hesabına maksimum çıxış sürətinə nail olmaq üçün optimallaşdırılmışdır.
- Lokallaşdırmada istifadə olunan $'...' və $"..." əvəzetmələrinin istifadəsi genişləndirilmişdir. $"..." lokallaşdırıla bilən əvəzetmələr üçün dəstəyin aktiv olub-olmamasına nəzarət etmək üçün noexpand_translations parametri və "konfiqurasiya --enable-translatable-strings" qurma seçimi əlavə edildi.
- Defolt olaraq "globskipdots" parametri əlavə edildi və aktivləşdirildi, bu parametr "." və yolları açarkən "..".
Mənbə: opennet.ru