Təxminən üç illik inkişafdan sonra, əksər Linux dağıtımları üçün standart olaraq istifadə edilən GNU Bash 5.3 komanda interpretatorunun yeni versiyası dərc edilib. Eyni zamanda, bash-da komanda xətti redaktəsi üçün istifadə olunan readline kitabxanasının 8.3 versiyası da hazırlanmışdır.
Əsas təkmilləşdirmələrdən bəziləri:
- Yeni komanda əvəzləmə formaları «${ command; }» və «${|command;}» tətbiq edilib ki, bu da komandanın çıxışını ayrıca övlad prosesi yaratmadan və adlandırılmamış kanallardan istifadə etmədən ələ keçirməyə imkan tanıyır. Komandanın icra nəticələri əvəzləmə nəticəsi kimi təqdim olunur və ya REPLY dəyişəninə yazılır.
- Yeni GLOBSORT dəyişəni əlavə edilib ki, bu, fayl yolunun tamamlanması zamanı sıralama formasını müəyyən edir. Məsələn, adı (GLOBSORT=name), ölçüsü (GLOBSORT=size) və ya dəyişiklik vaxtı (GLOBSORT=mtime) əsasında sıralama seçmək olar, həmçinin sıralama ölçüsünün (məsələn, «GLOBSORT=-size» ilə) azalan (kiçikdən böyüyə) və ya artan (böyükdən kiçiyə) ordeni tənzimləmək mümkündür.
- Daxili «compgen» komandasına «-V varname» seçimi əlavə edilib ki, bu da yaradılmış tamamlamaları dəyişənə saxlamağa imkan tanıyır, standart kanala çıxış yerinə.
- Daxili «read» komandasına «-E» seçimi əlavə edilib ki, bu seçim verilənlər daxil edilərkən readline kitabxanasının bash tamamlaması qaydalarını işə salır.
- Daxili «source» komandasına «-p PATH» seçimi əlavə edilmişdir ki, bu da fayl yollarındakı axtarış siyahısını yenidən tənzimləməyə imkan tanıyır (göstərilən dəyər $PATH dəyişəninin yerinə istifadə olunur).
- Mənbə kodu C23 standartına uyğun olaraq yenidən işlənib. «K&R C» rejimində kompilyatorların toplanması imkanı dayandırılıb (bu, C dilinin Kerningan və Ritchie-nin «The C Programming Language» kitabında təsvir olunan üslubunu əks etdirir).
- Daxili «umask» komandası POSIX spesifikasiyaları ilə tam uyğunluğu təmin edir.
- Yüklənə bilən «kv» komandasına əlavə edilib ki, bu, «açar dəyər» formatında məlumatlar toplusuna əsaslanaraq assosiasiya massivini formalaşdırır.
- Yüklənə bilən «strptime» komandası əlavə edilib ki, bu komanda tarix və vaxtın mətndəki görüntüsünü epoch vaxtına (1970-ci ildən etibarən keçən saniyə sayı) çevirir.
- Yüklənə bilən «fltexpr» komandası əlavə edilib ki, bu da «let» komandasına bənzər şəkildə ondalık əməliyyatları yerinə yetirir.
- DINAMIK olaraq təyin edilən BASH_MONOSECONDS dəyişəni əlavə edilib ki, bu, sistemin monotoni saatlarının cari dəyərini saxlayır, bu saatlar keçmiş vaxtdadır, hətta vaxt geriyə dəyişdikdə belə davamlı artır.
- POSIX rejimində «test» komandasında simvolların müqayisəsi «<» və «>» operatorları istifadə edilərək daha düzgün şəkildə, cari lokal nəzərə alınmaqla həyata keçirilir.
- «bind -x» komandasına düymə və çağırılan komandanı boşluqla ayırmağa icazə verilir, əgər ardıcıllıq ikiqat dırnaqlara alınır.
- Yeni versiyada Readline, simvolların qeydini saxlamadan tarixdə axtarış üçün "search-ignore-case" seçimini təqdim edir. Digər proseslərdə işləmək üçün sözün tamamlanma variantlarını ixrac etmək üçün "export-completions" komandası daxil edilib. Standart giriş axınından alınan adla komandanı icra etmək üçün "execute-named-command" komandası əlavə edilib.
Mənbə: opennet.ru
