پس از بیست ماه توسعه، نسخه جدیدی از مفسر فرمان GNU Bash 5.2 که به طور پیشفرض در اکثر توزیعها استفاده میشود، منتشر شده است. Linuxهمزمان، کتابخانه readline 8.2 که در bash برای ویرایش خط فرمان استفاده میشود، منتشر شد.
بهبودهای کلیدی عبارتند از:
- کد مربوط به تجزیه ساختارهای جایگزینی فرمان (جایگزینی خروجی یک فرمان دیگر، مانند "$(command)" یا `command`) بازنویسی شده است. پیادهسازی جدید از یک فراخوانی بازگشتی به تجزیهگر bison استفاده میکند و دارای ویژگیهای بهبود یافته بررسی نحو و تشخیص زودهنگام خطا در ساختارهای قابل جایگزینی است.
- تجزیه و بسط بهبود یافتهی اندیسهای آرایه. پارامترهای "@" و "*" در دستور unset داخلی، اکنون میتوانند برای تنظیم مجدد یک کلید با مقدار داده شده به جای تنظیم مجدد کل آرایه، استفاده شوند.
- یک تنظیم جدید، "patsub_replacement" اضافه شده است. وقتی تنظیم شد، از کاراکتر "&" در رشته جایگزین شده برای جایگزینی بخشی از رشته که با الگوی مشخص شده مطابقت دارد، استفاده میشود. برای درج "&"، باید آن را با یک بک اسلش پوشش داد.
- تعداد موقعیتهایی که در آنها انشعاب فرآیندهای اضافی انجام نمیشود، افزایش یافته است، برای مثال، دیگر هنگام استفاده از ساختار "$(" انشعاب اعمال نمیشود.
- یک چارچوب داخلی جدید برای محاسبه تایمر و زمان انقضا پیادهسازی شده است.
- امکان فعالسازی پیادهسازی آرایه جایگزین در زمان ساخت (configure --enable-alt-array-implementation) که برای حداکثر سرعت دسترسی با هزینه افزایش مصرف حافظه بهینه شده است، اکنون در دسترس است.
- استفاده از جایگزینیهای $'…' و $»… که در طول بومیسازی استفاده میشدند، گسترش یافته است. تنظیم noexpand_translations و گزینه ساخت "configure --enable-translatable-strings" برای فعال کردن پشتیبانی از جایگزینیهای $»… قابل بومیسازی اضافه شدهاند.
- تنظیم «globskipdots» به طور پیشفرض اضافه و فعال شده است تا از برگرداندن «.» و «..» هنگام بسط مسیرها جلوگیری شود.
منبع: opennet.ru
