The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск командной оболочки fish 3.0"
Отправлено opennews, 28-Дек-18 22:46 
Подготовлен (https://sourceforge.net/p/fish/mailman/message/36503612/) релиз интерактивной командной оболочки fish 3.0.0 (http://fishshell.com/) (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций. Код проекта распространяется (https://github.com/fish-shell/fish-shell) под лицензией GPLv2. Готовые пакеты сформированы для Ubuntu (https://launchpad.net/~fish-shell/+archive/ubuntu/release-3), Debian, Fedora, openSUSE и RHEL (https://software.opensuse.org/download.html?project=shells&#...).

Значительное изменение номера версии связано с внесением  изменений, нарушающих обратную совместимость. Большая часть существующих скриптов продолжит работать, тем не менее авторам скрипов следует удостовериться (https://github.com/fish-shell/fish-shell/releases/tag/3.0.0), что в их коде не используются возможности, поведение которых было изменено. Некоторые изменения, нарушающие совместимость:


-  Прекращена возможность определения идентификаторов процессов и работ с использованием оператора "%", оставлена только поддержка выражения "%self", позволяющего определить текущий PID;


-  Прекращена поддержка синтаксиса "set x[1] x[2] a b" для установки разом нескольких элементов массива;
-  Обращение к массиву с нулевым индексом ("array[0] ") теперь приводит к ошибке (элементы массивов в fish начинаются с 1).
-  Переменные в циклах "for" больше не являются локальными для блока;
-  Переменные, установленные в условных выражениях "if" и "while" теперь доступны вне блока;
-  Во встроенной команде  math прекращена поддержка логических выражений  (для них следует использовать команду test);
-  В команде "cd" прекращена поддержка перехода по символическим ссылкам;
-  Указание аргументов после выражения "end" теперь не игнорируется, а приводит к выводу ошибки;
-  Зарезервированы и больше не могут использоваться в именах функций ключевые слова "argparse", "read", "set", "status", "test" и "[";
-  Прекращена разбивка переменных окружения в элементы массива при наличии разделителя, за исключением переменных, заканчивающихся на слово "PATH";
-  Переведены в разряд устаревших в будущем будут удалены такие возможности как переменная IFS для команды read (следует использовать опцию "--delimiter"), режим "--on-process-exit" (замена "--on-event fish_exit"), переменная $_ (замена "status current-command"), использование знака "^" для перенаправления stderr и маски "?".

Среди добавленных улучшений (https://github.com/fish-shell/fish-shell/releases/tag/3.0.0):


-  Добавлен механизм флагов, определяющих уровень поддерживаемой функциональности и позволяющий сохранить работоспособность скриптов в условиях прекращения поддержки определённых возможностей и внесения нарушающих совместимость изменений. Для определения используемого уровня функциональность предложены опция "--features" и переменная "fish_features", через которые можно указать необходимую версию fish. Например, если скрипт завязан на функциональность fish 3.0 можно указать "--features 3.0";

-  Добавлены логически операторы "&&", "||" и "!", которые можно использовать вместо "and", "or" и "not";
-  Переменные теперь можно использовать как команды (например, при запуске теперь можно указывать "$HOME/bin/mvim" без необходимости применения eval);

-  Добавлена опция "--private" для запуска оболочки в приватном режиме , в котором связанная с сеансом активность не сохраняется в логах и истории введённых команд;

-  Добавлена команда "wait" для ожидания завершения фоновых процессов;
-  Команда "math" теперь встроена в fish (ранее была реализована в виде обвязки над bc). По умолчанию все вычисления производятся в дробном представлении;

-  Добавлена зарезервированная переменная $hostname, отражающая имя текущего хоста;
-  Добавлены переменные $fish_pid и $last_pid, предложенные в качестве замены %self и %last;
-  Команда "string" теперь не останавливает разбор строки после нулевого символа. Для работы со строками с разделителем в виде нулевого символа добавлены отдельные подкоманды split0 и join0. Добавлена опция "--no-empty" для исключения пустых сток при выводе. В команду "string escape" добавлена опция "--style regex" для экранирования с применением регулярных выражений;

-  Предложен большой набор новых опций для различных команд, в том числе "alias --save", "bind --silent", "complete --keep-order", "funced --save", "functions --handlers", "history search --reverse", "jobs  --quiet", "read --delimiter", "set --append", "set --prepend", "set --show";
-  Добавлена команда xclip  для взаимодействия с буфером обмена;
-  В интерактивном режиме завершения строки символом "|" теперь приводит к продолжению работы на следующей строке (например, "echo foo |");-  Значительно расширены возможности системы автодополнения ввода  и  управления многостраничной прокруткой (pager);
-  Существенно повышена производительность установки переменных, запуска функций, команды abbr, раскрытия путей (globs), чтения строк из стандартного ввода, выборки из истории (особенно ускорен вызов $history[1] для получения последней запущенной команды).


URL: https://sourceforge.net/p/fish/mailman/message/36503612/
Новость: https://www.opennet.ru/opennews/art.shtml?num=49870

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру