Введение

Здравствуйте, добро пожаловать в проект Nushell. Цель этого проекта - взять философию оболочек Unix, где простые команды соединяются с помощью конвейеров, и адаптировать ее к современному стилю разработки. Таким образом, Nushell не является ни оболочкой, ни языком программирования, а соединяет в себе и то, и другое, объединяя в одном пакете богатый язык программирования и полнофункциональную оболочку.

Nu берет пример со многих знакомых мест: традиционные оболочки, такие как bash, объектно-ориентированные оболочки, такие как PowerShell, постепенно типизируемые языки, такие как TypeScript, функциональное программирование, системное программирование и многое другое. Но вместо того, чтобы пытаться быть универсальным специалистом, Nu сосредоточила свою энергию на том, чтобы делать несколько вещей хорошо:

  • Быть гибкой кроссплатформенной оболочкой с современным дизайном
  • Решение проблем с помощью современного языка программирования, который работает со структурой ваших данных
  • Четкие сообщения об ошибках и чистая поддержка IDE

Эта книга

Книга разделена на главы, которые далее разбиты на разделы. Вы можете нажать на заголовки глав, чтобы получить более подробную информацию о них.

  • Начало работы научит вас, как установить Nushell, и покажет вам, что к чему. В ней также объясняются некоторые принципы проектирования, по которым Nushell отличается от типичных оболочек, таких как bash.
  • Основы Nu объясняет основные понятия языка Nushell.
  • Программирование в Nu более глубоко погружает в особенности языка и показывает несколько способов организации и структурирования вашего кода.
  • Nu как оболочка В центре внимания - возможности оболочки, в первую очередь конфигурация и окружение.
  • Переход в Nu предназначен для быстрого старта пользователей, перешедших с других оболочек или языков.
  • Примечания к дизайну подробно объясняет некоторые конструктивные решения Nushell.
  • (Не очень) Продвинутый включает в себя несколько более продвинутых тем (они не такие уж и продвинутые, обязательно ознакомьтесь и с ними!).

Множество частей Nushell

Проект Nushell состоит из множества различных репозиториев и подпроектов. Вы можете найти их в разделе Наша организация на GitHubopen in new window.

  • Основной репозиторий Nushell можно найти здесьopen in new window. Он разбит на несколько ящиков, которые при желании можно использовать в качестве независимых библиотек в собственном проекте.
  • Репозиторий нашей страницы nushell.shopen in new window, включая эту книгу, можно найти здесьopen in new window.
  • Nushell имеет свой собственный редактор строк, имеющий свой собственный репозиторийopen in new window
  • nu_scriptsopen in new window это место для обмена скриптами и модулями с другими пользователями, пока у нас не появится какой-нибудь менеджер пакетов.
  • Nanaopen in new window это экспериментальная попытка исследовать графический пользовательский интерфейс для Nushell.
  • Awesome Nuopen in new window содержит список инструментов, которые работают с экосистемой Nushell: плагины, скрипты, расширения редактора, сторонние интеграции и т.д.
  • Nu Showcaseopen in new window это место для обмена работами о Nushell, будь то блоги, иллюстрации или что-то еще.
  • Запрос на комментарии (RFC)open in new window служит местом для предложений и обсуждений серьезных изменений в дизайне. Хотя в настоящее время он недостаточно используется, мы ожидаем увеличения его использования по мере приближения и превышения версии 1.0.

Вклад

Мы приветствуем вклад в развитие! Как видите, есть много мест, куда можно внести свой вклад. Большинство репозиториев содержат файл CONTRIBUTING.md с советами и подробностями, которые должны помочь вам начать работу (если нет, подумайте о внесении исправления!).

Сам Nushell написан на языке Rustopen in new window. Однако вам не обязательно быть программистом Rust, чтобы помочь. Если вы разбираетесь в веб-разработке, вы можете внести свой вклад в улучшение этого сайта или проекта Nana. Dataframes может использовать ваш опыт обработки данных.

Если вы написали крутой скрипт, плагин или интегрировали Nushell куда-то, мы будем рады вашему вкладу в nu_scripts или Awesome Nu. Обнаружение ошибок с помощью шагов воспроизведения и создание запросов в GitHub об этих ошибках является ценной помощью! Вы можете внести свой вклад в развитие Nushell, просто используя Nushell!

Поскольку Nushell быстро развивается, эта книга постоянно нуждается в обновлении. Работа над этой книгой не требует никаких специальных навыков, кроме базового знакомства с Markdown. Кроме того, вы можете перевести некоторые его части на свой язык.

Сообщество

Основным местом для обсуждения всего, что связано с Nushell, является наш Discordopen in new window. Вы также можете следить за нашими новостями и обновлениями в Twitteropen in new window. Наконец, вы можете воспользоваться обсуждениями на GitHub или создать проблемы на GitHub.