Як перейти з Bash на Fish Shell в Linux

Чимало користувачів у терміналі віддають перевагу Bash, що часто призводить до неоптимального досвіду роботи. Ця оболонка є доволі простою та не має сучасних функцій “з коробки”. Якщо ви прагнете покращити свій термінал, розгляньте можливість переходу з Bash на Fish Shell.

Встановлення Fish Shell

Перш ніж зробити Fish Shell вашою основною оболонкою замість Bash, необхідно її встановити на вашій системі Linux. На щастя, Fish є популярною, і її пакунки доступні майже у всіх дистрибутивах Linux. Відкрийте термінал і скористайтеся відповідною командою для встановлення:

Ubuntu

sudo apt install fish

Debian

sudo apt-get install fish

Arch Linux

sudo pacman -S fish

Fedora

sudo dnf install fish

OpenSUSE

sudo zypper install fish

Інші дистрибутиви Linux

Fish існує вже деякий час, хоча має сучасні характеристики. Завдяки цьому, його легко знайти майже в будь-якому дистрибутиві Linux. Щоб встановити його, запустіть термінал та перевірте ваш менеджер пакунків на наявність “fish” або “fish shell”. Крім того, ви можете заглянути на офіційну сторінку Github та скомпілювати його з вихідного коду.

Перехід з Bash на Fish Shell

Використання Fish як основної оболонки може вимагати часу на адаптацію, оскільки вона значно відрізняється від Bash. На відміну від інших альтернатив, таких як Zsh або Ksh, Fish не використовує Bash як основу. Через такий дизайн, деякі команди можуть не працювати через інший синтаксис, і вам, можливо, доведеться змінити свої звички при роботі з терміналом.

Для вашої зручності, існує докладна інструкція, яка описує всі нюанси Fish Shell. В ній пояснюється синтаксис Fish, обробка конвеєрів та інші важливі аспекти. Якщо ви плануєте перехід, радимо ознайомитися з нею.

Після вивчення шпаргалки, можете відкрити термінал та змінити оболонку за замовчуванням з Bash на Fish Shell. Для цього введіть команду chsh. Важливо не використовувати sudo при її виконанні, щоб не змінити оболонку користувача Root замість вашої.

chsh -s /usr/bin/fish

Команда chsh призначить нову оболонку для вашого користувача. Щоб негайно почати використовувати Fish, наберіть fish в терміналі. В іншому випадку, перезавантажте ваш комп’ютер, щоб завершити зміну оболонки. Після перезавантаження, знову увійдіть та відкрийте термінал. Якщо все зроблено правильно, Fish стане вашою новою оболонкою за замовчуванням замість Bash.

Налаштування Fish

Після переходу на Fish Shell, вам необхідно її налаштувати. Першим кроком є створення нової папки конфігурації:

mkdir -p ~/.config/fish

Далі, створіть новий файл конфігурації всередині цієї папки:

touch ~/.config/fish/config.fish

Команда touch створить порожній файл конфігурації Fish Shell. Тепер ви можете безпечно додавати власні налаштування до оболонки. Для більшості користувачів, достатньо вимкнути вітальне повідомлення. Додайте наступний рядок до файлу конфігурації Fish:

echo 'set fish_greeting ""' >> ~/.config/fish/config.fish

Резервне копіювання налаштувань Fish

Налаштування Fish на кількох комп’ютерах може бути незручним, оскільки для кожного ПК необхідно створювати нову конфігурацію. Щоб спростити цей процес, створіть резервну копію файлу та відновіть її на інших комп’ютерах. Для створення резервної копії, виконайте в терміналі:

cp ~/.config/fish/config.fish ~/Documents/

Для відновлення конфігурації, перенесіть файл на новий комп’ютер у папку “Документи” та запустіть:

mkdir -p ~/.config/fish

cp ~/Documents/config.fish ~/.config/fish/config.fish

Додаткове налаштування

Здебільшого, Fish готова до використання після цих кроків. Однак, якщо ви хочете додатково її налаштувати, виконайте в терміналі:

fish_config

Ця команда автоматично відкриє нову вкладку у вашому веб-браузері з різними параметрами налаштування Fish.

У вікні Fish_Config ви можете застосовувати встановлені теми, призначати змінні, створювати власні функції, переглядати історію команд, призначати скорочення та псевдоніми, та багато іншого!

Автодоповнення у Fish

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

Щоб скористатися автодоповненням, просто почніть вводити команду в терміналі. Оболонка буде намагатися вгадати вашу команду на основі введеного тексту. Вона автоматично коригується при отриманні додаткової інформації. В будь-який момент ви можете завершити команду, натиснувши клавішу стрілки вправо на клавіатурі. Після натискання цієї клавіші, команда буде автоматично доповнена.