Bash против Fish: какая командная оболочка Linux делает работу в терминале проще

Bash против Fish: какая командная оболочка Linux делает работу в терминале проще

Командная оболочка в операционных системах на базе Linux выполняет важнейшую функцию — она интерпретирует команды пользователя для взаимодействия с ядром системы. Без этого инструмента невозможна работа не только терминала, но и многих установленных приложений. В большинстве дистрибутивов по умолчанию используется Bash (Bourne Again Shell) — проверенная временем, но практически не меняющаяся годами оболочка. Однако сегодня пользователям доступна гораздо более современная и удобная альтернатива под названием Fish (Friendly Interactive SHell).

Главные особенности современных оболочек Linux

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

В чем разница между Bash и Fish

Основное различие заключается во взаимодействии с пользователем. В Bash процесс выглядит стандартно: пользователь вводит команду, нажимает Enter и ждет результат. Оболочка никак не помогает в процессе ввода. Fish работает иначе, предлагая активную помощь на каждом этапе работы.

В обзоре тестирования выделяются ключевые преимущества Fish перед классическим Bash:

  • Умные подсказки: при вводе первых символов Fish автоматически предлагает автозаполнение на основе истории ранее введенных команд. Для подтверждения достаточно нажать стрелку вправо.
  • Цветовая индикация: оболочка использует подсветку синтаксиса. Если команда введена неверно или путь к файлу не существует, текст подсвечивается красным. Как только синтаксис становится корректным, цвет меняется на синий.
  • Удобная навигация по кнопке Tab: нажатие этой клавиши выводит список возможных команд и параметров, по которому можно перемещаться с помощью обычных стрелок на клавиатуре.
  • Простая работа с переменными: в отличие от Bash, в Fish переменные задаются понятной командой set имя значение, без необходимости использовать сложные конструкции.

Упрощенный синтаксис и встроенные инструменты

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

Также в Fish реализован удобный механизм сокращений (аббревиатур), который заменяет привычные псевдонимы (aliases). Пользователь может один раз задать короткую команду, которая будет автоматически разворачиваться в длинную строку. Например, сокращение для быстрого подключения к удаленным серверам по SSH сохраняется даже после перезапуска системы и окончания сессии.

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

Установка и настройка Fish

Установить Fish можно из стандартных репозиториев большинства популярных дистрибутивов Linux. Для этого используются простые команды в терминале:

  • Для Ubuntu и Debian: sudo apt-get install fish -y
  • Для Fedora: sudo dnf install fish -y
  • Для Arch Linux: sudo pacman -S fish

После установки необходимо назначить Fish оболочкой по умолчанию с помощью команды chsh -s $(which fish).

Если пользователю потребуется вернуться к стандартному Bash, сделать это можно в любой момент аналогичной командой chsh -s $(which bash).