Релиз на командния интерпретатор Bash 5.3

След почти три години разработка, новата версия на командния интерпретатор GNU Bash 5.3 е публикувана, използвана по подразбиране в повечето дистрибуции на Linux. В същото време е формулирано издание на библиотеката readline 8.3, приложена в bash за организиране на редактиране на командния ред.

Ключовите подобрения включват:

  • Изпълнени са нови форми на заместване на команди «${ command; }» и «${|command;}», които позволяват прихващане на изхода от команда без отклоняване в отделен дъщерен процес и без използване на именувани канали. Резултатите от изпълнението на командата се възвръщат като резултата от заместването или се записват в променлива REPLY.
  • Добавена е нова променлива GLOBSORT, която определя начина на сортиране при допълване на файловия път. Например, може да се избере сортиране по име (GLOBSORT=name), размер (GLOBSORT=size) или време на промяна (GLOBSORT=mtime), както и да се определи прави (от по-малък към по-голям) или обратен (от по-голям към по-малък) ред на сортиране (например, при «GLOBSORT=-size» първо ще се покажат най-големите файлове).
  • Вградената команда «compgen» получи опция «-V varname» за запазване на генерираните допълнения в променлива вместо извеждане в стандартния поток.
  • Вградената команда «read» получи опция «-E», която при въвеждане на данни активира библиотеката readline с правила за автоматично допълване на конструкциите bash.
  • Вградената команда «source» получи опция «-p PATH», която позволява да се преопредели списъкът с търсене в файловите пътища (посочената стойност се използва вместо променливата $PATH).
  • Изходният код е приведен в съответствие с стандарта C23. Прекратена е възможността за компилиране с компилатори в режим «K&R C» (стил, който отговаря на описанието на езика C в книгата «The C Programming Language» на Керниган и Ритчи).
  • Вградената команда «umask» осигурява пълна съвместимост със спецификациите POSIX.
  • Добавена е зареждаема команда «kv», която формира асоциативен масив на база набор от данни във формат «ключ стойност».
  • Добавена е зареждаема команда «strptime», която преобразува текстовото представяне на дата и време в епохално време (броят на секундите от 1 януари 1970 г.).
  • Добавена е зареждаема команда «fltexpr», позволяваща извършване на аритметични операции с плаваща запетая, сходно на командата let.
  • Добавена динамично задавана променлива BASH_MONOSECONDS, която съдържа текущата стойност на системните монотонни часовници, които непрекъснато се увеличават, дори при промяна на времето обратно.
  • В режим POSIX сравняването на стрингове в командата „test“, с използването на операторите „“, вече се извършва с оглед на текущата локализация.
  • В командата „bind -x“ е разрешено разделянето на клавиша и извиканата команда с интервал, ако последователността е поставена в двойни кавички.
  • В новата версия на Readline е предложена опция „search-ignore-case“ за търсене в историята без оглед на регистра. Добавена е команда „export-completions“ за експортиране на варианти за допълване на думата за обработка в други процеси. Добавена е команда „execute-named-command“ за изпълнение на команда, чието име е получено от стандартния вход.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster