Strona główna
» LINUX
»
Jak przejść z powłoki Bash na Fish Shell w systemie Linux
Jak przejść z powłoki Bash na Fish Shell w systemie Linux
Zainstaluj Fisha, sprawdź, czy pełna ścieżka dostępu jest podana w /etc/shells, a następnie uruchom chsh -s "$(command -v fish)"konto. Wyloguj się i zaloguj ponownie, aby korzystać z Fisha w nowych sesjach logowania. Aby najpierw wypróbować Fisha, wpisz fish; enter exit, aby powrócić do powłoki Bash.
Fish ma własną składnię i konfigurację; nie odczytuje plików startowych Bash. Skrypty z rozszerzeniem Bash mogą być nadal uruchamiane w Bash.
1. Zainstaluj Fish
Użyj menedżera pakietów swojej dystrybucji. Oto standardowe polecenia dla pakietów Fish; źródła pakietów znajdziesz na oficjalnej stronie instalacji Fish :
Ubuntu lub Debian:sudo apt install fish
Fedora:sudo dnf install fish
Arch Linux:sudo pacman -S fish
openSUSE:sudo zypper install fish
W przypadku innej dystrybucji należy przeszukać jej oficjalne repozytoria, wpisując fish; menedżer pakietów przechowuje instalacje i aktualizacje w jednym miejscu.
Wybierz polecenie odpowiednie dla swojej dystrybucji. Wersje pakietów i dane wyjściowe instalatora różnią się w zależności od repozytorium.
2. Sprawdź ścieżkę Fisha i dozwolony wpis powłoki
W bieżącym terminalu Bash znajdź plik wykonywalny i sprawdź, czy jego dokładna ścieżka pojawia się w /etc/shells:
command -v fish
grep -Fx "$(command -v fish)" /etc/shells
Ścieżka to często /usr/bin/fish, ale użyj tej wydrukowanej na Twoim komputerze. Drugie polecenie powinno zwrócić tę samą ścieżkę. Wiele chshinstalacji akceptuje tylko powłoki wymienione w /etc/shells, jak wyjaśnia podręcznik chsh . Jeśli nie ma zgodności, poproś administratora o zarejestrowanie ścieżki instalacji Fisha.
Pokazana ścieżka jest przykładowa. Użyj dokładnej ścieżki podanej podczas instalacji.
3. Wypróbuj Fish przed ustawieniem go jako domyślnego
Rozpocznij interaktywną sesję Fish z poziomu powłoki Bash, wpisując:
fish
Wypróbuj kilka codziennych poleceń i zwróć uwagę na podświetlanie składni, uzupełnianie klawiszem Tab i automatyczne podpowiedzi. Enter exit, aby wrócić do powłoki Bash. Oficjalny samouczek Fisha omawia te interaktywne funkcje.
Uruchomienie fishtestuje go tylko dla bieżącego terminala. Nie zmienia powłoki logowania Twojego konta.
4. Ustaw Fish jako powłokę logowania
Gdy sprawdzenie ścieżki zakończy się powodzeniem, uruchom poniższy kod z poziomu powłoki Bash, korzystając ze swojego zwykłego konta:
chsh -s "$(command -v fish)"
Wprowadź hasło, jeśli zostaniesz o to poproszony. Nie używaj sudo, ponieważ może to zmienić powłokę roota zamiast Twojej. chshRejestruje powłokę logowania, ale nie zmienia istniejących kart terminala. Wyloguj się z sesji pulpitu i zaloguj ponownie lub ponownie połącz się z SSH. Jeśli nowy terminal nadal uruchamia Bash, sprawdź, czy jego profil wymusza niestandardowe polecenie.
Uruchom chshbez sudotego, aby zmiany zostały zastosowane na Twoim koncie.
5. Dodaj ustawienia Ryby w jej własnym pliku konfiguracyjnym
Fish odczytuje ustawienia użytkownika z ~/.config/fish/config.fish, a nie z ~/.bashrc. Utwórz folder i otwórz plik w preferowanym edytorze; w tym przykładzie użyto Nano:
Standardowy folder konfiguracji Fish dla każdego użytkownika to ~/.config/fish.
Na przykład, aby ukryć powitanie Rybki, dodaj do pliku to polecenie Rybka:
set -g fish_greeting
Zapisz plik, a następnie uruchom nową powłokę Fish, aby go załadować. Możesz również ustawić eksportowane zmienne środowiskowe w składni Fish, takie jak set -gx EDITOR nano. W FAQ Fish opisano ustawienia powitania i wyjaśniono, czym pliki startowe Fish różnią się od plików Bash.
Użyj składni Fish w config.fishzadaniach powłoki Bash, które EDITOR=nanonie są poleceniami konfiguracji Fish.
6. Dostosuj monit lub kolory
Uruchom fish_config, aby otworzyć lokalne internetowe narzędzie konfiguracyjne Fish, w którym możesz przeglądać opcje monitów i kolorów. Możesz również pracować w terminalu. Na przykład, wyświetl listę motywów za pomocą fish_config theme list. Aby wyświetlić podgląd i zapisać przykładowy monit, uruchom:
fish_config prompt show
fish_config prompt choose disco
fish_config prompt save
Polecenie choose stosuje monit w bieżącej sesji; save zapisuje go na potrzeby przyszłych sesji. Informacje na temat interfejsu internetowego i opcji poleceń można znaleźć w dokumentacji fish_config.
Fish udostępnia narzędzia wiersza poleceń i motywów, a także konfigurator oparty na przeglądarce.
7. Korzystaj z autosugestii i uzupełnień
Podczas pisania Fish może wyświetlać szarą sugestię na podstawie historii poleceń, prawidłowych ścieżek i uzupełnień. Naciśnij strzałkę w prawo lub , Ctrl+Faby zaakceptować sugestię; zaakceptowanie jej powoduje jedynie wypełnienie wiersza poleceń, dlatego naciśnij Enter osobno, aby ją uruchomić. Naciśnij, Tababy dokończyć polecenie, argument lub ścieżkę albo aby wyświetlić dostępne opcje.
Sugestie dotyczące ryb i uzupełnianie poleceń klawiszem Tab pomagają dokończyć polecenia bez ich automatycznego wykonywania.
Co się zmienia po przejściu z Basha?
Fish nie jest zgodnym ze standardem POSIX zamiennikiem Bash. Zmienne i bloki sterujące używają innej składni:
Zadanie
Bash
Ryba
Ustaw zmienną
name=value
set name value
Eksportuj zmienną
export EDITOR=nano
set -gx EDITOR nano
Zakończ ifblok
fi
end
Fish nie ładuje .bashrcaliasów ani funkcji Bash. Zachowaj logikę Bash, taką jak w przypadku skryptów, które powinny działać z Bashem. Szczegółowe informacje znajdziesz w dokumentacji języka i konfiguracji#!/usr/bin/env bash Fisha .
Wróć do Bash lub rozwiąż problemy
Aby przywrócić Bash, uruchom to w Fish. Fish obsługuje znaną $(...)podmianę poleceń:
chsh -s "$(command -v bash)"
Wyloguj się i zaloguj ponownie. Jeśli chshFish odrzuci, sprawdź ponownie jego ścieżkę i /etc/shells. W przypadku problemów z SSH lub SCP usuń polecenia generujące dane wyjściowe z config.fish; Fish odczytuje je również w powłokach nieinteraktywnych. Skonfiguruj ochronę tylko w trybie interaktywnym w następujący sposób:
if status is-interactive
# interactive-only setup
end