Eğer, benim gibi, değişmezlikten ziyade manşet özelliklerini arıyorsanız , koruyucu Chet Ramey'nin yazdığı yazı bunun üzerine gider. İşte ilginç bölüm:
Bu sürüm bash-4.4'teki birçok hata giderildi ve birkaç yeni özellik tanıtıldı. En önemli hata düzeltmeleri, aderef değişkenlerinin nasıl çözüldüğünün gözden geçirilmesi ve fuzzing yoluyla keşfedilen bir dizi sınır dışı bellek hatasıdır. Kelime bölmenin bir Posix standart yorumuna uymadığı çeşitli bağlamlarda $ @ ve $ * genişlemesinde bir takım değişiklikler ve Posix uyumluluğu için köşe vakalarını çözmek için ek değişiklikler vardır.
En dikkat çekici yeni özellikler birkaç yeni kabuk değişkenidir: BASH_ARGV0, EPOCHSECONDS ve EPOCHREALTIME. `History 'yerleşimi, tarih girişlerinin aralıklarını kaldırabilir ve negatif argümanları tarih listesinin sonundan ofset olarak anlar. Yerel değişkenlerin bir önceki kapsamda aynı ada sahip bir değişkenin değerini miras almasına izin veren bir seçenek vardır. Etkinleştirildiğinde, kabuğun ilişkisel dizi aboneliklerini yalnızca bir kez genişletmeye çalışmasına neden olan yeni bir kabuk seçeneği vardır (bu, aritmetik ifadelerde kullanıldığında bir sorundur). 'Globasciiranges' kabuğu seçeneği şimdi varsayılan olarak etkindir; yapılandırma zamanında varsayılan olarak kapalı olarak ayarlanabilir.
Bash-4.4 ve bash-5.0 arasında birkaç uyumsuz değişiklik var. Nameref değişkenlerinin nasıl çözümlendiğine ilişkin değişiklikler, uyumluluk sorunlarını en aza indirmeye çalışmama rağmen, bazı namerefs kullanımlarının farklı davranacağı anlamına gelir. Varsayılan olarak, kabuk genişletilmiş hata ayıklama modu etkinse başlangıçta yalnızca BASH_ARGC ve BASH_ARGV'yi ayarlar; koşulsuz olarak belirlendiğine ve komut dosyalarının çok sayıda argümandan geçirilmesinde performans sorunlarına yol açtığı bir denetimdi.
Ayrıca, daha fazla bilgi istemeniz durumunda, bu iki dosyayı da ifade eder:
CHANGES
dosyada: git.savannah.gnu.org/cgit/bash.git/tree/...