Логотип

Fish — это как Bash, только с мозгами. Вот как его установить в Ubuntu

Fish — это как Bash, только с мозгами. Вот как его установить в Ubuntu

Bash — это оболочка по умолчанию в Ubuntu, и, честно говоря, в ней нет ничего плохого. Но если вы проводите много времени в терминале, возможно, вам стоит попробовать альтернативные оболочки, поскольку они часто предоставляют дополнительные удобства, и вы удивитесь, как раньше обходились без них.

В конце концов, рак-отшельник регулярно меняет свой панцирь, так почему бы хитрым пользователям Linux не делать то же самое?

Fish (что расшифровывается как Friendly Interactive Shell) — это альтернатива Bash, написанная на Rust (ранее на C++). Создатели позиционируют её как «оболочку командной строки для 90-х». Это бесплатное программное обеспечение с открытым исходным кодом, которое работает во всех системах Unix, а не только в Linux.

Его отличает набор функций, которые могут сделать работу в терминале Ubuntu менее утомительной: он подсвечивает синтаксические ошибки до того, как вы нажмёте Enter, предлагает команды на основе вашей истории и предоставляет действительно полезное автодополнение.

Ни одна из этих функций не является обязательной для всех, но по сравнению с базовым Bash они могут показаться суперспособностями.

 

Что рыба привносит в нашу жизнь

Fish выделяет команды по мере их ввода. Допустимые команды отображаются синим цветом, недопустимые — красным, а разные части команд выделены разными цветами. Это позволяет быстро выявлять опечатки и облегчает чтение длинных или сложных команд.

Лично я считаю, что автодополнение — это самое большое преимущество. По мере ввода текста серым цветом отображаются возможные варианты завершения команды, которые берутся из вашей истории команд:

Автодополнение отображается серым цветом по мере ввода

 

Читать  Как перезапустить оболочку GNOME из командной строки, не закрывая никаких приложений (только X11)

Если вы часто используете длинные команды, но редко помните их целиком, эта функция сэкономит вам время: вам не придётся нажимать клавишу со стрелкой вверх, чтобы найти нужную команду.

У меня есть подробные ffmpeg команды, которые мы часто запускаем, меняя только пути к файлам. С Fish мне нужно всего лишь ввести ffmpeg — и вуаля, мне предлагается список флагов, аргументов, переменных и настроек, который я могу принять, нажав клавишу со стрелкой вправо.

В противном случае я могу продолжать печатать всё, что захочу запустить.

Аналогичным образом вы можете создавать сокращения в Fish. Это пользовательские ярлыки, которые при вводе раскрываются до полной команды (как текстовый экспандер). Эти сокращения позволяют экономить время при частом выполнении длинных команд.

Автодополнение в fish — это совсем не то, что предлагает Bash:

Автодополнение в Fish — это нечто особенное

Автодополнение в Fish — это нечто особенное

 

Когда вы нажмёте tab, Fish перечислит возможные варианты с краткими описаниями того, что они собой представляют или что делают. Так вам будет проще узнать о командах или пакетах (даже без специальных знаний), не прибегая к введению --help или открытию man страниц.

Вы можете перемещаться по списку, чтобы выбрать нужный вариант

Вы можете перемещаться по списку, чтобы выбрать нужный вариант

 

Веб-инструмент для настройки позволяет легко персонализировать и оптимизировать Fish Shell в соответствии с вашими предпочтениями.

Запустите fish_config, и откроется страница в вашем браузере по умолчанию. Там вы можете настроить цвета, просмотреть функции, переменные, просмотреть историю последних команд и настроить другие параметры без необходимости открывать файл конфигурации в текстовом редакторе (но вы можете это сделать).

Вы можете настроить подсказку1 (часть с вашим именем пользователя, именем хоста и текущим каталогом), выбрав предустановленный вариант или создав свой собственный. Для ценителей эстетики Linux индивидуальная подсказка станет отличным завершающим штрихом в персонализации рабочего стола.

Читать  Команда read в Linux с примерами

Настроить внешний вид рыбы можно с помощью веб-интерфейса

Настроить внешний вид рыбы можно с помощью веб-интерфейса

 

Кроме того, Fish делает несколько вещей, которые Bash делает иначе (в лучшую сторону).

Например, вы вводите подстановки команд в скобках (квадратных скобках), а не в обратных кавычках (`); статус завершения последней команды сохраняется в $status, а не в $?; вы определяете переменные с помощью специальных команд, таких как set, а не с помощью загадочного синтаксиса.

Полный список этих различий можно найти в руководстве на сайте, а также на специальной странице для пользователей Fish for Bash.

Это не все функции Fish, но те, которые, на мой взгляд, делают его настоящим хитом. Если вы хотите попробовать, то у меня для вас хорошие новости: Fish доступен в репозиториях Ubuntu, поэтому его легко установить.

 

Как установить Fish в Ubuntu

Вы можете установить Fish в Ubuntu напрямую из репозиториев. В репозиториях Ubuntu 24.04 LTS представлена версия на C++ (3.x), а в репозиториях Ubuntu 25.04 — новая серия на основе Rust (4.x):

sudo apt install fish

 

Для установки последней версии используйте официальный PPA Fish, который поддерживает Ubuntu 22.04 LTS и более поздние версии:

sudo apt-add-repository ppa:fish-shell/release-4
sudo apt update && sudo apt install fish

 

После установки запустите Fish, введя fish в предпочитаемом вами эмуляторе терминала.

После тестирования, если вы хотите сделать Fish оболочкой по умолчанию в Ubuntu, выполните следующую команду:

chsh -s /usr/bin/fish

 

Однако для того, чтобы это изменение вступило в силу, вам нужно будет выйти из системы и снова войти.

Читать  Создайте и запустите свой первый скрипт Bash Shell

Будьте осторожны при использовании chsh, так как при неправильном указании пути вы можете временно лишиться доступа к оболочке. Если это произойдет, вы сможете восстановить доступ с помощью аварийной оболочки или другого способа входа в систему. Однако осторожность с самого начала избавит вас от лишних хлопот.

 

Соображения о совместимости

Fish хорошо подходит для интерактивного использования терминала, но он не соответствует стандарту POSIX. Это завуалированный способ сказать, что некоторые сценарии Bash, в основном те, которые используют специфический синтаксис Bash, не будут работать напрямую (без изменений).

Насколько сильно это повлияет на повседневную работу с терминалом, зависит от конкретных случаев использования. Но Bash — это команда, которую можно использовать по мере необходимости.

Пользователи, которые экономят ресурсы, могут захотеть узнать, что Fish использует больше памяти, чем Bash, из-за своих дополнительных функций. Это не такой уж большой недостаток, учитывая, что в современных системах увеличение объёма памяти составляет всего 4 МБ или около того.

 

Заглотили наживку?

Если вы пользователь Ubuntu, который редко пользуется терминалом и ограничивается несколькими короткими простыми командами, то вам нет необходимости переходить на Bash. Bash — это базовый инструмент, но большинству людей достаточно и базового.

Но если вы регулярно пользуетесь командной строкой и используете её не только для запуска команд apt, то переход на Fish может ускорить ваш рабочий процесс, снизить трудозатраты и (для тех, кто печатает неаккуратно) помочь избежать досадных ошибок.

Это всё ещё просто оболочка, хотя и более продвинутая: Fish — это как Bash, только с мозгами.

Как сказано в описании на официальном сайте, это современный терминал (насколько это вообще возможно для терминальных оболочек), предлагающий отточенный, продуманный и интегрированный набор функций.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 4.3 (3 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала