Как установить и использовать Nu Shell в Linux | macOS

Как установить и использовать Nu Shell в Linux | macOS

 

Добро пожаловать в наше руководство по установке Nu Shell в Linux | macOS. Цель проекта Nushell — взять философию оболочек Unix, в которой конвейеры соединяют простые команды вместе, и довести ее до современного стиля разработки. Nu Shell фокусируется на достижении следующего:

  • Создание наиболее гибкой и кроссплатформенной оболочки с современным ощущением.
  • Предоставляя вам возможность смешивать и сопоставлять приложения командной строки с оболочкой, которая понимает структуру ваших различных типов данных
  • Оболочка с некоторой степенью доводки UX, которую предоставляют современные приложения CLI.

Самый простой и быстрый способ запустить Nu Shell в системе Linux / macOS — это установить с  crates.io или загрузить готовые двоичные файлы со  страницы выпусков Github .

Самый идеальный метод установки для любого дистрибутива Linux — это двоичный метод. Мы воспользуемся инструментом curl, чтобы получить последнюю версию, загрузим, а затем распакуем файл, чтобы получить двоичный файл Nushell.

Шаг 1. Установите инструменты разработчика

Установите необходимые инструменты разработчика:

Ubuntu / Debian:

sudo apt update
sudo apt install pkg-config libssl-dev -y
sudo apt install libxcb-composite0-dev libx11-dev -y

Системы на базе RHEL:

sudo yum install libxcb openssl-devel libX11-devel -y

macOS:

brew install openssl cmake

Шаг 2. Установите Nushell в Linux

Загрузите последний двоичный архивный файл:

cd /tmp
curl -s  https://api.github.com/repos/nushell/nushell/releases/latest | grep browser_download_url |  cut -d '"' -f 4 | grep '\linux.tar.gz' | wget -i -

Распакуйте скачанный файл:

tar -xvf nu_*_linux.tar.gz

Скопируйте двоичный файл nu в свой PATH:

sudo mv nu_*_linux/nushell-*/nu /usr/local/bin

Nu будет искать плагины в вашем PATH при запуске. Хотя nu будет иметь некоторые функции и без них, для полной функциональности вам необходимо скопировать их в свой путь, чтобы их можно было загрузить.

sudo mv nu_*_linux/nushell-*/nu_plugin* /usr/local/bin

Пользователи Fedora могут использовать репозиторий COPR для установки Nushell:

sudo dnf copr enable atim/nushell -y && sudo dnf install nushell -y

Шаг 3. Установите Nushell на macOS

Для двоичного метода установки используйте brew:

$ brew install nushell

Ручная установка из двоичных файлов

В системе macOS выполните следующие команды, чтобы загрузить последнюю версию Nushell:

cd /tmp
curl -s  https://api.github.com/repos/nushell/nushell/releases/latest | grep browser_download_url |  cut -d '"' -f 4 | grep '\macOS.zip' | wget -i -

Распакуйте скачанный файл:

unzip nu_*_macOS.zip

Скопируйте двоичный файл nu в свой PATH:

sudo mv nu_*_macOS/nushell-*/nu /usr/local/bin

Скопируйте также плагины Nu:

sudo mv nu_*_macOS/nushell-*/nu_plugin* /usr/local/bin

Шаг 4. Установите пользовательскую оболочку на Nushell

Мы создадим нового пользователя с именем techviewleo.

$ sudo adduser techviewleo
Adding user `techviewleo' ...
Adding new group `techviewleo' (1000) ...
Adding new user `techviewleo' (1000) with group `techviewleo' ...
Creating home directory `/home/techviewleo' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for techviewleo
Enter the new value, or press ENTER for the default
	Full Name []:
	Room Number []:
	Work Phone []:
	Home Phone []:
	Other []:
Is the information correct? [Y/n] y

Установите пользовательскую оболочку по умолчанию на Nu:

sudo chsh -s /usr/local/bin/nu techviewleo

Подтвердите оболочку пользователя:

$ getent passwd techviewleo
techviewleo:x:1000:1000:,,,:/home/techviewleo:/usr/local/bin/nu

Переключитесь на созданную учетную запись пользователя:

$ su - techviewleo
Password:
Welcome to Nushell 0.28.0 (type 'help' for more info)
/home/techviewleo>

Проверьте, как работают команды ls в Nushell:

$ home/techviewleo> ls /tmp/
───┬────────────────────────────────────────────────────────────────────────────────────────┬──────┬────────┬────────────
 # │                                          name                                          │ type │  size  │  modified
───┼────────────────────────────────────────────────────────────────────────────────────────┼──────┼────────┼────────────
 0 │ /tmp/snap.lxd                                                                          │ Dir  │ 4.1 KB │ 2 days ago
 1 │ /tmp/systemd-private-15969aaa8a724354bff192a746aaa953-systemd-logind.service-ny7rmg    │ Dir  │ 4.1 KB │ 2 days ago
 2 │ /tmp/systemd-private-15969aaa8a724354bff192a746aaa953-systemd-resolved.service-QsdDqg  │ Dir  │ 4.1 KB │ 2 days ago
 3 │ /tmp/systemd-private-15969aaa8a724354bff192a746aaa953-systemd-timesyncd.service-OKOxKf │ Dir  │ 4.1 KB │ 2 days ago
───┴────────────────────────────────────────────────────────────────────────────────────────┴──────┴────────┴────────────

Вывод команд в macOS:

/Users/jkmutai> cd Parallels/
/Users/jkmutai/Parallels> ls
───┬────────────────┬──────┬───────┬──────────────
 # │      name      │ type │ size  │   modified
───┼────────────────┼──────┼───────┼──────────────
 0 │ CentOS 8.pvm   │ Dir  │ 384 B │ 1 month ago
 1 │ Ubuntu.pvm     │ Dir  │ 480 B │ 2 weeks ago
 2 │ Windows 10.pvm │ Dir  │ 416 B │ 2 months ago
───┴────────────────┴──────┴───────┴──────────────

Список только каталогов:

$ ls | where type == Dir

Вы можете узнать больше о Nushell на официальных страницах документации . Лучшая отправная точка — знакомство с Nu .