Вчера была опубликована новая версия командного интерпретатора Bash 5.0, которая разрабатывалась около двух с половиной лет. Кроме того, вышел релиз библиотеки readline 8.0, которая имеет непосредственное отношение к командной строке.
Повышение номера версии Bash обусловлено рядом изменений, которые нарушают обратную совместимость. К таким изменениям относятся переработка кода, связанного с обработкой ссылочных переменных nameref, обновление подхода к использованию переменных readline 8.0. Для того, чтобы установить Bash 5.0, нужна библиотека readline 8.0, в противном случае обновиться не получится.
Среди новых функций можно выделить новые переменные окружения BASH_ARGV0 (принимает значение $0), EPOCHSECONDS (эпохальное время в секундах) и EPOCHREALTIME (эпохальное время с точностью до микросекунд).
Во встроенную команду «history» добавлена поддержка поэлементного удаления записей из БД с ведением логов операций, плюс есть возможность указания отрицательных значений в качестве смещения первой удаляемой записи относительно конца списка.
Разработчики добавили опцию «localvar_inherit», она позволяет локальным переменным наследовать значение переменной с теми же именами, которые определены в вышестоящей области видимости.
Появилась опция «assoc_expand_once», при установке которой оболочка осуществляет раскрытие индексов ассоциативных массивов только один раз, а также опция «globasciiranges», допускающая использование масок для определения диапазонов символов ([a-z]).
С полным списком изменений можно ознакомиться здесь (англ.) и здесь (рус.).
Повышение номера версии Bash обусловлено рядом изменений, которые нарушают обратную совместимость. К таким изменениям относятся переработка кода, связанного с обработкой ссылочных переменных nameref, обновление подхода к использованию переменных readline 8.0. Для того, чтобы установить Bash 5.0, нужна библиотека readline 8.0, в противном случае обновиться не получится.
Среди новых функций можно выделить новые переменные окружения BASH_ARGV0 (принимает значение $0), EPOCHSECONDS (эпохальное время в секундах) и EPOCHREALTIME (эпохальное время с точностью до микросекунд).
Во встроенную команду «history» добавлена поддержка поэлементного удаления записей из БД с ведением логов операций, плюс есть возможность указания отрицательных значений в качестве смещения первой удаляемой записи относительно конца списка.
Разработчики добавили опцию «localvar_inherit», она позволяет локальным переменным наследовать значение переменной с теми же именами, которые определены в вышестоящей области видимости.
Появилась опция «assoc_expand_once», при установке которой оболочка осуществляет раскрытие индексов ассоциативных массивов только один раз, а также опция «globasciiranges», допускающая использование масок для определения диапазонов символов ([a-z]).
С полным списком изменений можно ознакомиться здесь (англ.) и здесь (рус.).