Найти в Дзене

Пользуюсь Fish-шелл уже несколько дней. Рассказываю о трех преимуществах этого шелла, которые сразу понравились

Подписчик предложил в комментариях под одним из постов попробовать вместо ZSH оболочку под названием Fish. Неоднократно слышал про нее, также натыкался на то, что ряд блогеров на Youtube, рассказывающих о Linux и открытом ПО используют ее в качестве основной (например, автор под ником SOER, может слышали о таком). Поэтому решился установить ее в качестве основной и на протяжении нескольких дней использую ее в терминале. За прошедшее время могу выделить три преимущества, которые мне сразу понравились в этой оболочке. О том, что такое ZSH и как установить эту оболочку я рассказывал в отдельной заметке на канале. Ссылку на нее вы найдете ниже. 1️⃣ Автодополнение вводимых команд без плагинов Автодополнение поставляется в Fish из коробки и не требует установки каких-либо плагинов, как это происходит в ZSH. Достаточно начать вводить команду в терминале и тут же будет предложен самый подходящий вариант из существующих. Чтобы просмотреть другие доступные варианты можно воспользоваться клавишам
Оглавление

Подписчик предложил в комментариях под одним из постов попробовать вместо ZSH оболочку под названием Fish. Неоднократно слышал про нее, также натыкался на то, что ряд блогеров на Youtube, рассказывающих о Linux и открытом ПО используют ее в качестве основной (например, автор под ником SOER, может слышали о таком). Поэтому решился установить ее в качестве основной и на протяжении нескольких дней использую ее в терминале. За прошедшее время могу выделить три преимущества, которые мне сразу понравились в этой оболочке.

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

1️⃣ Автодополнение вводимых команд без плагинов

Автодополнение поставляется в Fish из коробки и не требует установки каких-либо плагинов, как это происходит в ZSH. Достаточно начать вводить команду в терминале и тут же будет предложен самый подходящий вариант из существующих. Чтобы просмотреть другие доступные варианты можно воспользоваться клавишами Вверх и Вниз на клавиатуре.

Пример автодополнения при вводе команды sudo pacman
Пример автодополнения при вводе команды sudo pacman

Если при этом воспользоваться однократно клавишей TAB, то откроется полнотекстовый перебор, содержащий вводимое слово.

Автодополнение в Fish при нажатии TAB
Автодополнение в Fish при нажатии TAB

2️⃣ Встроенная поддержка математических формул и скриптов

У Fish имеется команда math, при помощи которой можно производить практически любые математические действия прямо в терминале без необходимости установки чего-либо еще. Например, чтобы извлечь квадратный корень из желаемого числа, достаточно ввести команду:

echo (math sqrt 20124)

Вычисляем квадратный корень из числа в Fish
Вычисляем квадратный корень из числа в Fish

Полный перечень действий, которые можно выполнять при помощи math доступен при вводе команды man math.

Также Fish нативно поддерживает различные скриптовые штуки, навроде циклов for, блоков if и пр. Например, можно ввести в терминал следующую команду:

for x in (ls); echo $x; end

Результат выполнения скрипта в консоли
Результат выполнения скрипта в консоли

Фактически, мы только что написали и выполнили прямо в консоли скрипт, который перечисляет существующие внутри домашней директории файлы и папки. Здесь главным является не выполнение команды ls, а то, что прямо в терминале можно оперировать переменными.

3️⃣ Настройка через терминал

Обычно, консольные оболочки настраиваются путем редактирования конфигурационных файлов (.zshrc для ZSH, bashrc для BASH, и т.д). Однако, разработчики Fish пошли по пути упрощения настройки оболочки. Достаточно ввести в терминале команду fish_config и в браузере откроется вкладка с настройками.

Настройки Fish в браузере
Настройки Fish в браузере

Используя вкладки, можно настроить цвета, вид командной строки, различные переменные окружения и прочее, прочее, прочее. Получается, теперь можно не сидеть над редактированием файла конфигурации, а можно привычно покликать нужные настройки, подкрутить параметры и настроить оболочку под себя.

Подведем итоги

Срок использования мною Fish-шелл не позволяет делать каких-либо полноценных выводов и давать аудитории рекомендации. Поэтому данный пост можете расценивать как первое впечатление, отчет о знакомстве с новой оболочкой. Уверен, что в Fish огромное количество всего, что делает его таким популярным, также думаю, что со временем найдутся и недостатки.

Если вы пользуетесь Fish, то напишите в комментариях, почему выбрали эту оболочку, чем она нравится вам, а что в ней не устраивает.