Fish shell – jak przejść z bash i skonfigurować nową powłokę

Oskar Gajzler
Przez
Oskar Gajzler
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak...
8 min czytania

Fish (friendly interactive shell) to interaktywna powłoka nastawiona na wygodę, czytelność i nowoczesne funkcje, których w bash często szuka się w dodatkowych narzędziach.

Fish jest jednocześnie powłoką i językiem skryptowym, a oficjalna dokumentacja zaleca uruchamianie go poleceniem fish oraz kończenie sesji poleceniem exit.

Fish shell – jak przejść z bash i skonfigurować nową powłokę

Jeśli na co dzień korzystasz z bash, a chcesz spróbować czegoś bardziej nowoczesnego i przyjaznego, fish shell może być świetnym wyborem.

W odróżnieniu od klasycznego basha fish stawia na wygodę użytkownika: oferuje podpowiedzi w czasie rzeczywistym, sensowne ustawienia domyślne, prostą konfigurację i bardziej „interaktywny” sposób pracy.

W praktyce najlepiej podejść do zmiany stopniowo: najpierw zainstaluj fish, przetestuj go w bieżącej sesji, a dopiero potem ustaw jako domyślną powłokę. Dzięki temu bezpiecznie sprawdzisz składnię, zachowanie i autouzupełnianie.

Co wyróżnia fish na tle basha?

Poniżej znajdziesz skrót najważniejszych atutów fish w codziennej pracy:

  • podpowiedzi i autouzupełnianie – sugestie w czasie rzeczywistym na podstawie historii i kontekstu poleceń;
  • sensowne domyślne ustawienia – użyteczne funkcje działają „od razu”, bez instalowania pluginów;
  • konfigurator w przeglądarce – wygodne GUI uruchamiane komendą fish_config do zmiany motywu i prompta;
  • nacisk na pracę interaktywną – fish błyszczy w codziennym użyciu terminala, a nie wyłącznie w skryptach.

Nie oznacza to, że bash jest przestarzały — nadal pozostaje standardem w wielu środowiskach. Fish to po prostu wygodna alternatywa dla osób, które chcą szybszej i przyjemniejszej pracy w terminalu.

Instalacja fish shell

Sposób instalacji zależy od systemu operacyjnego i menedżera pakietów. Najpopularniejsze metody to apt na Ubuntu/Debian oraz Homebrew na macOS:

Ubuntu/Debian

Na systemach Debian-based zainstalujesz fish poleceniem:

sudo apt install fish

To szybka, wspierana metoda dostępna w repozytoriach.

macOS

Na macOS popularną metodą jest Homebrew:

brew install fish

Po instalacji sprawdź ścieżkę do binarki i dodaj ją do listy dozwolonych powłok, jeśli planujesz ustawić fish jako domyślną:

which fish

Jeśli potrzeba, dopisz wynik do /etc/shells.

Inne systemy i metody

W zależności od dystrybucji lub systemu znajdziesz gotowe paczki i repozytoria w dokumentacji fish. Najlepiej sprawdzić instrukcje właściwe dla Twojego menedżera pakietów.

Pierwsze uruchomienie fish

Aby uruchomić fish w aktualnym terminalu, wpisz:

fish

Aby zakończyć sesję i wrócić do poprzedniej powłoki, użyj:

exit

To prosty i bezpieczny sposób na przetestowanie fish bez zmian w ustawieniach systemu.

Jak ustawić fish jako domyślną powłokę

Gdy uznasz, że fish Ci odpowiada, możesz ustawić go jako domyślny login shell (również dla sesji SSH) albo uruchamiać tylko w wybranym emulatorze terminala.

Metoda 1 – ustawienie fish jako login shell

To najczęściej wybierana opcja. Wykonaj poniższe kroki:

  1. Dodaj fish do /etc/shells:

command -v fish | sudo tee -a /etc/shells

  1. Ustaw fish jako domyślną powłokę:

chsh -s "$(command -v fish)"

Aby wrócić do innej powłoki, użyj tego samego polecenia z /bin/bash, zsh lub inną ścieżką.

Metoda 2 – uruchamianie fish tylko w terminalu

Jeśli nie chcesz zmieniać powłoki logowania, skonfiguruj swój emulator terminala tak, by startował bezpośrednio z fish. To prosta i bezpieczna opcja, zwłaszcza gdy używasz fish tylko lokalnie.

Uwaga dla macOS i terminali typu iTerm2

Niektóre terminale mają własne ustawienia startowe, które nadpisują systemowy shell. Upewnij się, że profil terminala jest ustawiony na „Login shell”, a nie na ręcznie wpisaną komendę startową.

Podstawowa konfiguracja fish

Jednym z największych atutów fish jest szybka personalizacja bez długich plików konfiguracyjnych.

Konfiguracja przez przeglądarkę: fish_config

Aby uruchomić wygodne GUI w przeglądarce, wpisz:

fish_config

W niektórych opisach znajdziesz też polecenie:

fish_config browse

Otworzy się panel, w którym wybierzesz motyw, układ prompta i inne ustawienia wizualne.

Personalizacja prompta

Prompt możesz zmienić, definiując własną funkcję fish_prompt lub korzystając z narzędzi konfiguracyjnych fish. Przykład minimalnej funkcji:

function fish_prompt
set_color -o -i red
echo "$USER@$PWD 💻 "
end

W praktyce prompt często pokazuje także gałąź Gita, status ostatniego polecenia i poziom uprawnień.

Najważniejsze różnice między bash a fish

1. Inna składnia skryptów

Fish nie jest „bashem z innym wyglądem” — ma własną składnię i polecenia, więc skryptów bashowych nie przeniesiesz 1:1.

Jeśli używasz fish głównie interaktywnie, to nie problem. Gdy planujesz pisać skrypty, zdecyduj, czy mają działać w fish, czy w bash.

2. Lepsze podpowiedzi

Fish oferuje czytelne podpowiedzi poleceń, argumentów i ścieżek, co przyspiesza pracę i redukuje błędy.

3. Interaktywny charakter

Fish jest projektowany z myślą o codziennym użyciu terminala — wiele funkcji działa od razu, bez dodatkowych pluginów i skomplikowanego setupu.

Szybkie porównanie: fish vs bash

Dla przejrzystości zestawmy kluczowe aspekty obu powłok:

Cecha Fish Bash
Podpowiedzi w czasie rzeczywistym Tak (z historii i kontekstu) Nie (wymaga dodatków)
Autouzupełnianie „out of the box” Rozbudowane Podstawowe
Konfigurator w przeglądarce fish_config Brak
Zgodność ze skryptami bash Natywnie nie Tak
Domyślne ustawienia i ergonomia Wygodne, gotowe do pracy Wymagają częstej konfiguracji
Nacisk na tryb interaktywny Silny Umiarkowany

Przydatne funkcje fish, które warto poznać od razu

Nawigacja po katalogach

Fish ma skróty do przechodzenia między ostatnio odwiedzanymi katalogami, np. Alt + Left Arrow (poprzedni) i Alt + Right Arrow (następny).

Szybkie wstawianie poleceń

Wybrane skróty pozwalają wstawiać gotowe fragmenty komend, np. Alt + L uruchamia ls, a Alt + P dopisuje potok | less.

Pomoc do poleceń

Skrót Alt + W wyświetla opis bieżącego polecenia — przydatne w nauce nowych narzędzi.

Jak wrócić z fish do bash

Jeśli chcesz tymczasowo wrócić do basha, zakończ sesję fish poleceniem:

exit

Gdy fish jest ustawiony jako domyślny, zmienisz powłokę z powrotem przez chsh:

chsh -s /bin/bash

Upewnij się, gdzie znajduje się Twój bash i jakie powłoki są dostępne w /etc/shells.

Dobre praktyki przy migracji z bash do fish

Migracja będzie znacznie łatwiejsza, jeśli podejdziesz do niej stopniowo.

Oto zalecany plan działania:

  • najpierw uruchamiaj fish ręcznie, bez zmiany domyślnej powłoki,
  • sprawdź, czy odpowiada Ci autouzupełnianie i prompt,
  • przetestuj kilka najczęściej używanych poleceń,
  • dopiero potem ustaw fish jako login shell,
  • jeśli używasz skryptów bashowych, zostaw je w bashu albo świadomie przepisz na składnię fish.

Dla kogo fish będzie najlepszy?

Fish szczególnie dobrze sprawdza się u osób, które:

  • dużo pracują w terminalu,
  • chcą wygodniejszego autouzupełniania,
  • cenią prostą konfigurację,
  • wolą interaktywne narzędzie do codziennych zadań niż minimalistyczną powłokę.

Jeśli Twoim głównym celem jest kompatybilność ze starszymi skryptami bashowymi, fish nie będzie automatycznym zamiennikiem. W takiej sytuacji używaj go interaktywnie, a skrypty pisz i uruchamiaj w bash.

Przykładowa krótka instrukcja „od zera”

Poniższy skrót prowadzi krok po kroku:

  1. Zainstaluj fish.
  2. Uruchom fish w terminalu.
  3. Sprawdź prompt i autouzupełnianie.
  4. Otwórz fish_config, aby wybrać wygląd powłoki.
  5. Ustaw fish jako domyślny shell przez chsh, jeśli wszystko działa.
  6. W razie potrzeby wróć do basha poleceniem chsh -s /bin/bash.
Udostępnij ten artykuł
Obserwuj
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak bezpiecznie korzystać z sieci i jak dobierać sprzęt oraz oprogramowanie. Prywatnie tropi nowinki technologiczne i testuje je, zanim opisze.
Brak komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *