Aby przejść z Bash na Zsh w systemie Linux, zainstaluj Zsh, przetestuj go, a następnie ustaw jako powłokę logowania za pomocą chsh. Przenieś tylko potrzebne ustawienia Basha; O mój Boże, Zsh jest opcjonalny.
Zsh ma inne pliki startowe i nie jest w pełni kompatybilny z innymi składniami powłoki. Skrypty zaczynające się od #!/bin/bashnadal używają Basha. Zapoznaj się z podręcznikiem Zsh .
1. Zainstaluj Zsh za pomocą menedżera pakietów
Otwórz terminal i uruchom polecenie dla swojej dystrybucji:
Dystrybucja Linuksa
Polecenie Zainstaluj
Ubuntu, Debian, Linux Mint
sudo apt install zsh
Fedora i wiele systemów opartych na RHEL
sudo dnf install zsh
Arch Linux, Manjaro
sudo pacman -S zsh
openSUSE
sudo zypper install zsh
Przykładowe polecenie package-manager do instalacji Zsh na dystrybucji opartej na Debianie.
Przed zmianą powłoki logowania znajdź zainstalowany plik wykonywalny Zsh.
Ścieżka może być /usr/bin/zshtaka lub /bin/zsh; użyj własnego wyniku. Sprawdź, czy jest on zatwierdzony do logowania za pomocą:
grep -Fx "$(command -v zsh)" /etc/shells
Pusty wynik oznacza, że ścieżka może nie zostać zatwierdzona do logowania. Poproś administratora o zaktualizowanie listy powłok systemu, jeśli to konieczne. Zapoznaj się z podręcznikiem powłok Linuksa .
3. Wypróbuj Zsh przed ustawieniem go jako domyślnego
Uruchom tymczasową sesję Zsh, a następnie wydrukuj jej wersję:
zsh
echo "$ZSH_VERSION"
Aby wypróbować funkcję bez zmiany ustawień konta, uruchom Zsh w bieżącym terminalu.
Jeśli nie masz osobistych plików startowych, Zsh może wyświetlić monit o konfigurację przy pierwszym uruchomieniu; administratorzy mogą go wyłączyć. Postępuj zgodnie z jego opcjami lub skonfiguruj pliki samodzielnie. Wpisz, exitaby powrócić do powłoki Bash. Ten test nie zmienia powłoki logowania.
4. Skonfiguruj Zsh i przenieś ustawienia selektywnie
Zsh odczytuje ustawienia interaktywne z ~/.zshrc. W nowym pliku dodaj:
Przykład historii i ustawień uzupełniania w pliku osobistym .zshrc.
Te wiersze zapisują historię poleceń i inicjują dokończenie. Dodaj potrzebne wiersze do istniejącego pliku zamiast go zastępować. Zobacz dokumentację pliku startowego Zsh .
Przenoś przydatne aliasy i funkcje z jednego ~/.bashrcdo ~/.zshrcdrugiego i testuj je po kolei. Uzupełnianie lub kod monitu specyficzne dla Basha mogą nie działać w Zsh. Pozostaw skrypty Basha i ich #!/bin/bashwiersze niezmienione.
5. Ustaw Zsh jako powłokę logowania
Gdy Zsh się uruchomi i podstawowe ustawienia będą działać, zmień powłokę logowania swojego konta:
chsh -s "$(command -v zsh)"
Zmień powłokę logowania bieżącego konta, korzystając ze ścieżki podanej przez command -v zsh.
Wprowadź hasło, jeśli zostaniesz o to poproszony. Zmieni to powłokę logowania konta, a nie uruchomiony już proces Bash. W razie potrzeby może to zrobić autoryzowany administrator sudo chsh -s "$(command -v zsh)" "$USER". Zapoznaj się z instrukcją chsh . Unikaj zmiany powłoki roota, chyba że jest to konieczne.
6. Otwórz nowy terminal i zweryfikuj
Zamknij bieżący terminal i otwórz nowy lub wyloguj się i zaloguj ponownie. Następnie sprawdź zarówno skonfigurowaną powłokę konta, jak i działającą powłokę:
echo "$SHELL"
ps -p $$ -o comm=
Sprawdź skonfigurowaną powłokę logowania i proces powłoki w nowym terminalu.
Pierwsze polecenie powinno wyświetlić ścieżkę Zsh; drugie powinno zgłosić zsh. Jeśli Bash nadal się otwiera, sprawdź, czy profil terminala uruchamia niestandardową powłokę. Zmiana powłoki logowania wpływa również na nowe sesje SSH, więc przetestuj Zsh przed przełączeniem konta zdalnego.
7. Opcjonalnie zainstaluj Oh My Zsh
Oh My Zsh jest opcjonalny i zarządza motywami i wtyczkami. Wymaga Zsh, Gita curllub wget. Oficjalny plik README zawiera następującą komendę instalatora:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Oficjalne polecenie instalatora Oh My Zsh pokazane w terminalu.
Projekt zaleca sprawdzenie skryptu przed jego uruchomieniem. Utwórz kopię zapasową wszystkich istniejących plików ~/.zshrc; instalator zmieni ich nazwę na ~/.zshrc.pre-oh-my-zsh.
8. Wybierz motyw i wtyczki
W ~/.zshrcwybierz motyw i wtyczki, na przykład:
ZSH_THEME="robbyrussell"
plugins=(git docker)
Ustawienia motywu i wtyczki znajdują się w .zshrcpliku Oh My Zsh.
Oddziel nazwy wtyczek spacjami, a nie przecinkami. Sprawdź dokumentację wtyczki, a następnie otwórz nowy terminal lub uruchom go exec zshponownie. O mój Boże, Zsh nie jest wymagany do korzystania z Zsh.
Typowe poprawki
chshodrzuca ścieżkę: porównaj command -v zshz wpisami w /etc/shells, a następnie zapytaj administratora, czy system zarządza tą listą.
Zniknęły aliasy: przenieś kompatybilne aliasy do ~/.zshrc; Zsh nie odczytuje automatycznie plików Bash ~/.bashrc.
Skrypt Bash nie działa: uruchom go za pomocą Bash lub zachowaj jego skrypt. Zmiana interaktywnej powłoki logowania nie konwertuje skryptów na Zsh.