12 июля 2015

Fish - дружелюбная интерактивная командная оболочка

Fish (от англ. friendly interactive shell) относительно новая командная оболочка для Unix-подобных операционных систем. К её отличительным качествам можно отнести подсветку синтаксиса и продвинутое автодополнение. Синтаксис языка проще чем Bash, поддерживает 256 цветов и имеет автоматическую генерацию страниц помощи.
Командная оболочка fish подойдёт для тех пользователей, кто часто пользуется терминалом в системах Linux.


Некоторые особенности Fish:

Интерактивный режим работы и дружественность пользователю. Это можно видеть из приветствия при входе в оболочку.


Подсветка синтаксиса: при вводе команды буквы выделяются красным цветом, если команда введена неверно или не полностью.


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


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


История команд: Достаточно открыть окно оболочки fish и перемещаться посредством клавиши с стрелкой вверх по выполненным ранее командам, для поиска нужной.

Установка Fish в Ubuntu и производные

Fish есть в репозиториях большинства дистрибутивов Ubuntu и производных, но там версия 2.0.0. Чтобы установить версию 2.1.1, необходимо подключить репозиторий.

Откройте терминал, скопируйте и выполните следующие команды:

sudo apt-add-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish


Оболочка Fish запускается из обычного системного терминала командой

fish


Но срок действия данной оболочки до закрытия окна терминала.
Если пользователь желает пользоваться данной оболочкой постоянно,  необходимо в терминале, в Параметры профиля сделать некоторые изменения.


В окне Изменения профиля, вкладка Команда, активируйте пункт Запускать команду вместо моей оболочки и в поле Другая команда введите fish.


Теперь при открытии окна терминала будет использоваться командная оболочка fish.

Выполните команду help в оболочке fish чтобы ознакомиться с инструкциями к командной оболочке Fish, которые откроются в браузере.


Примечание. В окружении XFCE, в командной строке xfce4-terminal нет встраиваемой команды для постоянной работы в командной оболочке fish.
Если вы пользователь оболочки XFCE, откройте скрытый файл .bashrc в Домашней папке на редактирование. Когда откроется пустой файл .bashrc, введите fish, сохраните файл и закройте редактор.


После этого xfce4-terminal будет постоянно окрываться в командной оболочке fish.


Если вы дополнительно используете выпадающий терминал в окружении XFCE, то и он будет отображаться и работать в командной оболочке fish.


Чтобы вновь вернуться к системной командной строке по умолчанию, отмените сделанные изменения.

Домашняя страница fishshell

Удачи.

7 комментариев :

  1. Добрый день,Володя! А в Минт-17.2 работать будет?

    ОтветитьУдалить
    Ответы
    1. Конечно. Посмотрите внимательно на последние снимки в статье, где проглядывается рабочий стол Минт-17.2.

      Удалить
  2. Действительно, фона-то и не заметил. Успешно установил на минт(мате) и выпадающий настроил(guake), но там файл .bashrc не пустой. В настойках выбрал соответствующий шелл(/usr/bin/fish) и теперь fish везде. Спасибо за статью.

    ОтветитьУдалить
  3. Все ОК, красиво смотрится.

    ОтветитьУдалить
  4. Здравствуйте! Установил Fish на17.1 KDE, работает на "отлично". Guake настройке не поддаётся. В Shell в строке "Интерпретатор по умолчанию" устанавливаю /usr/bin/fish, но после деактивации-активации терминала Guake в этой строке снова вижу "user shell". Судя по комментариям, настроить Guake соответствующим образом вполне возможно. Каким образом?

    ОтветитьУдалить
  5. P.S. Fish устанавливал из"Менеджера программ",версия 2.2.0.

    ОтветитьУдалить
  6. ставил ли кто в убунту Konsole Terminal который для кед?
    сколько сотен мегабайт зависимостей он тянет в убунту?

    ОтветитьУдалить

Если у Вас появились вопросы или мнения, вы можете задать или оставить их здесь.
Спам и флуд будут жёстко караться вечной блокировкой их оставляющих!



If You have any questions or opinions about, just leave'em here.
Spamers & flooders will be blocked forever!!!