Опубликован первый выпуск командной оболочки nushell, сочетающей возможности Power Shell и классических unix shell. Код написан на языке Rust и распространяется под лицензией MIT. Проект изначально развивается как кросс-платформенный и поддерживает работу в Windows, macOS и Linux. Для расширения функциональности могут использоваться плагины, взаимодействие с которыми осуществляется по протоколу JSON-RPC. В оболочке применяется привычная для пользователей Unix система конвейеров в формате "команда|фильтры|обработчик вывода". По умолчанию вывод оформляется при помощи команды autoview, использующей табличный формат, но возможно и применения команд для отображения бинарных данных и информации в древовидном представлении. Сильной стороной nushell является возможность манипуляции структурированными данными. Оболочка позволяет структурировать вывод различных команд и содержимое файлов, и применять произвольные фильтры, которые оформляются с использованием унифицированного синтаксиса, не требующего изучения опций командной строки каждой конкретной команды. Например, nushell позволяет использовать такие конструкции, как "ls | where size > 10kb" и "ps | where cpu > 10", которые приведут к выводу только файлов размером больше 10Kb и процессов, которые потратили больше 10 секунд ресурсов CPU: Для структурирования данных применяется ряд надстроек, которые разбирают вывод конкретных команд и типов файлов. Подобные надстройки предложены для команд cd, ls, ps, cp, mkdir, mv, date, rm (для вызова родных команд может применяться префикс "^", например вызов "^ls" приведёт к запуску системной утилиты ls). Имеются и специализированные команды, такие как open для отображения информации о выбранном файле в табличном виде. Для форматов JSON, TOML и YAML поддерживается автоматический разбор. /home/jonathan/Source/nushell(master)> open Cargo.toml -----------------+------------------+----------------- dependencies | dev-dependencies | package -----------------+------------------+----------------- [object Object] | [object Object] | [object Object] -----------------+------------------+----------------- /home/jonathan/Source/nushell(master)> open Cargo.toml | get package -------------+----------------------------+---------+---------+------+--------- authors | description | edition | license | name | version -------------+----------------------------+---------+---------+------+--------- [list List] | A shell for the GitHub era | 2018 | MIT | nu | 0.2.0 -------------+----------------------------+---------+---------+------+--------- /home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it 0.2.0 Предоставляется большой набор инструкций для фильтрации структурированных данных, позволяющих отсеивать строки, сортировать по столбцам, суммировать данные, производить простые вычисления, использовать счётчики значений, выполнять преобразование вывода в форматы CSV, JSON, TOML и YAML. Для неструктурированных данных (текста) предлагаются инструкции для разбивки на столбцы и строки на основе символов-разделителей. 29.08.2019 http://www.opennet.ru/opennews/art.shtml?num=51375