Релиз оболочки Bash 5.0. Что нового. Linux новости

Релиз оболочки Bash 5.0. Что нового

2
Войдите, чтобы ставить лайкимне нравится
Лайков: +2
войдите, чтобы ставить лайки

bash 5.0

Состоялся большой релиз командной оболочки Bash 5.0.

Дата релиза: 7 января 2019 г.
Расшифровка Bash: Bourne Again SHell.

Предыдущий релиз Bash 4.0 был выпущен 10 лет назад (2009). А версия 4.4 уже два с половиной года назад (2016). Поэтому однозначно можно сказать, что выход версии 5.0 это довольно большое событие в мире Linux.

Что нового

В новой версии Bash 5.0 было исправлено множество ошибок предыдущей версии и добавлены новые функции. Есть ряд изменений не совместимых с предыдущими версиями. Ниже приведены некоторые из изменений.

Добавлены новые переменные оболочки: BASH_ARGV0, EPOCHSECONDS и EPOCHREALTIME.
BASH_ARGV0 — устанавливается равным $ 0.
EPOCHSECONDS — «Unix time» в секундах.
EPOCHREALTIME — «Unix time» в микросекундах.

Добавлена возможность удалять команды в истории (history), используя диапазоны индексов (-d start-end), а также использовать отрицательные индексы для смещения по истории команд.

Локальные переменные теперь могут наследовать значение переменной с таким же именем из внешней области видимости.

Добавлена опция (globasciiranges), позволяющая оболочке разворачивать индексы ассоциативных массивов только один раз (нужно при использовании в арифметических выражениях). Параметр globasciiranges теперь включен по умолчанию. Можно отключить в настройках.

Реализация команд rm, stat, fdflags теперь встроена в Bash.

Внесены изменения в способ разрешения ссылочных переменных nameref, поэтому разные варианты использования таких переменных теперь могут вести себя по разному.

Теперь по умолчанию переменные BASH_ARGC и BASH_ARGV включены только если включен режим отладки. Это было сделано для повышения производительности, когда скриптам передается большое количество аргументов.

Добавлена опция syslog_history (по умолчанию отключена), позволяющая отключить запись истории команд в syslog.

Встроенная реализация malloc теперь использует mmap (если доступно) для обработки запросов на выделение памяти больше 128Кб. Соответственно, для освобождения таких блоков, free может теперь использовать mfree, чтобы вернуть страницы в ядро.

Встроенная команда kill теперь поддерживает опции -sSIGNAME и -nSIGNUM.

В файл config-top.h добавлен define позволяющий жестко установить значения переменных $PATH и $HISTSIZE, игнорируя все другие определения.

По желанию Bash 5.0 может быть связан с уже установленной библиотекой Readline, а не использовать «штатную» из lib/readline. Поддерживается только Readline 8.0 и более поздние версии. Предыдущие версии Readline не будут работать корректно. Релиз Readline 8.0 также состоялся одновременно с релизом Bash 5.0.

Как узнать версию Bash

Чтобы узнать версию Bash выполните в терминале команду:

bash --version
2

Комментарии

agafron
09.01.2019, 23:16
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
>>А версия 4.4 уже два с половиной года назад (2006)
оЧепятка)
yuriyАктивный
09.01.2019, 23:31
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы ставить лайки
Спасибо. Исправлено.

Написать комментарий

Ваше имя:
Текст комментария: