Bash vs różnice i porównanie ZSH

Bash vs różnice i porównanie ZSH
Grzmotnąć Shell jest domyślną powłoką dla Linuksa i jest wydany w wymianie Bourne Shell. Wiele zautomatyzowanych zadań i rozwiązań programistycznych może być wykonane przez Grzmotnąć łatwo. W Linux dostępnych jest wiele innych powłok do wykonywania tego samego rodzaju dzieł, takich jak Grzmotnąć. Z Shell Lub Zsh jest jednym z nich, który został wymyślony po Grzmotnąć. Ma wiele funkcji, takich jak Bash, ale niektóre funkcje Zsh Spraw, by był lepszy i ulepszony niż Bash, takie jak korekta pisowni, automatyzacja CD, lepszy motyw i obsługa wtyczek itp. Użytkownicy Linux nie muszą instalować powłoki bash, ponieważ jest ona domyślnie instalowana z dystrybucją Linux. ZSH lub Z Shell nie jest domyślnie zainstalowany w systemie. Użytkownicy muszą zainstalować tę powłokę, aby z niej korzystać. Niektóre funkcje są powszechne dla Grzmotnąć I Zsh ale istnieją pewne poważne różnice między tymi powłokami, które zostały opisane w tym artykule z właściwym wyjaśnieniem.

Za pomocą 'płyta CD' Komenda

Polecenie „CD” jest używane zarówno w Bash, jak i ZSH Shell do zmiany bieżącego katalogu. Funkcja, w której katalogi są rekurencyjnie wyszukiwane w celu znalezienia plików i folderów, są wywoływane rozszerzenie ścieżki rekurencyjnej który jest obsługiwany tylko przez ZSH. Użycie polecenia „CD” w Bash i Zsh Shell jest tutaj pokazane.

Grzmotnąć

Musisz wpisać pełną ścieżkę katalogu w Bash, aby zmienić katalog, a rozszerzenie ścieżki rekurencyjnej nie jest obsługiwane przez BASH.

$ CD Code/Python

Zsh

Katalog i plik można łatwo przeszukiwać w tej powładzie. Jeśli wpiszesz CD + Space + C + Tab W ZSH Shell wówczas wyszukiwa dowolna nazwa pliku lub folderu zacznie się od 'C'i pokaże nazwę pliku lub folderu, który można znaleźć jako pierwszy.

% CDC

Na przykład, jeśli kod Folder jest znaleziony i będzie wyświetlany. Jeśli ponownie wpisałeś '/P' Następnie wyświetli pliki i nazwę folderuP'.

% CD p

Korekta pisowni

Sprawdzanie pisowni jest bardzo przydatną funkcją dla każdej powłoki. Użytkownicy mogą łatwo poprawić błąd pisania według tej funkcji. Ta funkcja jest obsługiwana przez oba Grzmotnąć I Zsh. Ale korekta pisowni można wykonać bardziej wydajnie w Zsh powłoka. Zastosowanie tej funkcji jest pokazane dla obu skorup poniżej.

Grzmotnąć

Załóżmy, że chcesz iść do katalogu 'Muzyka„Ale wpisałeś”Mudyk ' Przez pomyłkę Bash Shell nie wykryje domyślnie błąd pisowni i pokaże komunikat o błędzie: „Brak takiego pliku lub katalogu".

$ CD MANGIC

Musisz włączyć sprawdzanie pisowni, aby naprawić ten rodzaj problemu. otwarty ~/.Bashrc Plik w dowolnym edytorze do dodania wiersza, aby włączyć sprawdzanie pisowni. Tutaj Nano Edytor służy do edycji pliku.

$ nano ~/.Bashrc

Dodaj następujący wiersz na końcu pliku, zapisz i zamknij plik.

Shopt -s cdspell

Teraz uruchom następujące polecenie, aby potwierdzić zmianę na stałe.

$ źródło ~/.Bashrc

Jeśli uruchomisz powyższe 'płyta CD' Polecenie z błędem pisowni z terminala, a następnie automatycznie poprawi nazwę folderu.

$ CD MANGIC

Zsh

Checker pisowni nie jest domyślnie włączony w ZSH Shell. Tak więc, jeśli uruchomisz polecenie „echo”, jak następujące polecenie z błędem pisowni, wyświetli komunikat o błędzie.

% EHCO „Hello World”

otwarty ~/.Zshrc plik w dowolnym edytorze i dodaj następujące wiersze na końcu pliku. Pierwszy wiersz włączy sprawdzanie pisowni w ZSH. Domyślne wartości opcji sprawdzania pisowni są, [nyae] to wskazuje Nie, tak, przerywaj i edytuj. Drugi wiersz zmieni wartości domyślne, aby opcje były bardziej zrozumiałe dla użytkownika. Tutaj, Nano Edytor służy do edytowania pliku.

% nano ~/.Zshrc
setopt poprawne
Eksportuj Sprompt = "poprawny %r do %r? [Tak, nie, abort, edytuj] ”

Zapisz i wyjdź z pliku i uruchom następujące polecenie, aby zaktualizować zmianę.

% źródło ~/.Zshrc

Ponownie uruchom poprzednie polecenie i sprawdź wyjście. Teraz użytkownik otrzyma opcje, aby poprawić wyjście. Jeśli wpiszesz „y”, pisownia zostanie skorygowana automatycznie.

% EHCO „Hello World”

Jeśli chcesz uczynić wyjście bardziej skutecznym, używając kolorów, uruchom następujące polecenie z powłoki ZSH, aby włączyć kolor.

% Autoload U Colours && Colours

Następnie dodaj następujący wiersz ~/.Zshrc plik jak poprzednio.

Eksport Sprompt = "poprawił $ fg [czerwony]%R $ RESET_COLOR do $ FG [zielony]%R $ RESET_COLOR?
[Tak, nie, abort, edytuj] ”

Teraz uruchom dowolne polecenie z błędem pisowni i sprawdź wyjście. Tutaj słowo błędu będzie wyświetlane przez czerwony kolor, a poprawne słowo będzie wyświetlane przez zielony kolor.

% EHCO „Hello World”

Korzystanie z motywów

Wygląd monitu skorupowego można zmienić za pomocą różnych motywów i wtyczek. Zarówno powłoki Bash, jak i ZSH mają wiele rodzajów motywów do zmiany wyglądu skorupy. Jak można użyć motywu w Bash i Zsh Shell, jest pokazany w następnej części tego artykułu.

Grzmotnąć

Musisz zainstalować GIT, aby zainstalować dowolny motyw Bash. Uruchom następujące polecenie, aby zainstalować pakiet GIT.

$ sudo apt-get instaluj git

Po zainstalowaniu git, uruchom następujące polecenie, aby stworzyć klon Bash-it szablon.

$ git Clone -Depth = 1 https: // github.com/bash-it/bash-it.git ~/.bash_it

Uruchom następujące polecenie, aby zainstalować Bash-it szablon po klonowaniu. Naciskać 'y„Kiedy poprosi o utrzymanie kopii zapasowej ~/.bash_profile Lub ~/.bashrc i dodatek Bash-it szablon na końcu pliku.

Następujące dane wyjściowe pojawią się po zakończeniu procesu instalacji.

Teraz, jeśli otworzysz ~/.Bashrc plik za pomocą dowolnego edytora plik będzie zawierał następującą zawartość. „Bobby” jest ustawiony jako domyślny motyw dla szablonu bash-it.

Uruchom następujące polecenie, aby potwierdzić aktualizację powłoki.

$ źródło ~/.Bashrc

Poniższa monit pojawi się w terminalu po prawidłowym zainstalowaniu szablonu. Teraz zamknij terminal. Zobaczysz tę samą monit bash za każdym razem, gdy otwierasz terminal.

Dostępnych jest wiele tematów Bash-it szablon te wyświetlanie wiersza bash na różne sposoby. Jeden z nich jest 'zazdrość' temat. Jeśli chcesz ustawić ten motyw, otwórz ~/.plik bashrc za pomocą dowolnego edytora i zmieniaBash_it_theme„wartość do”zazdrość'.

Znowu uruchom „”źródło„polecenie, aby potwierdzić aktualizację na stałe. Następujące dane wyjściowe pojawią się po ustawieniu motywu „zazdrości”.

Zsh

Podobnie jak Bash, Zsh Shell ma wiele tematów. Jednym z tematów ZSH jest Oh-my-Zsh. Uruchom następujące polecenie, aby zainstalować ten motyw dla ZSH Shell.

% sh -c "$ (curl -fssl
https: // surowe.github.com/robbyrussell/oh-my-zsh/master/tools/instaluj.cii)"

Po zainstalowaniu motywu naciśnijy ' Aby dokonać domyślnej powłoki do Zsh.

Poprosi o hasło root, aby ukończyć proces instalacji. Następujące dane wyjściowe pojawią się po zakończeniu procesu instalacji.

Teraz, jeśli otworzysz ~/.plik Zshrc, wtedy zobaczysz wpisy dla Oh-my-Zsh szablon. „Robbyrussell” jest ustawiony jako domyślny motyw dla szablonu.

Aby utrzymać zmianę na stałe, musisz uruchomić polecenie „źródło”.

% źródło ~/.Zshrc

Jeśli chcesz zmienić motyw na 'strzałka„Następnie otwórz ~/.plik Zshrc w dowolnym edytorze i zmień wartość 'Zsh_theme' Do 'strzałka'.

Musisz ponownie uruchomić polecenie „źródło”, aby zaktualizować zmianę na stałe dla ZSH Shell. Po ustawieniu tego motywu pojawi się następujący symbol strzałki.

% źródło ~/.Zshrc

Jeśli zamkniesz terminal i ponownie otworzysz powłokę ZSH, pojawi się następujące dane wyjściowe.

Korzystanie z ekspansji wieloznacznej

Rozszerzenie wieloznacznych może być używane w BASH na różne sposoby bez żadnego ustawienia. Ale rozszerzenie wieloznacznych nie jest domyślnie włączone w ZSH Shell. Jak ekspansja wieloznaczna można zastosować w BASH, a ZSH jest pokazany w tej części tego artykułu.

Grzmotnąć

Załóżmy, że musisz znaleźć wszystkie pliki z rozszerzeniem „log” bieżącej lokalizacji za pomocą polecenia „echo”. Tutaj, wartość ”*.dziennik' jest przypisany do zmiennej, akta które są używane w poleceniu „echo” do wyświetlania listy wszystkich plików dziennika.

$ ls
$ files = "*.dziennik"
$ echo $ pliki

Zsh

Jeśli uruchomicie powyższe polecenia w ZSH Shell, wartość plików $ będzie drukowana zamiast listy plików dziennika, ponieważ rozszerzenie wieloznacznych nie jest domyślnie włączone dla ZSH Shell.

% ls
% file = "*.dziennik"
% echo $ pliki

Uruchom następujące polecenie, aby umożliwić rozszerzenie dzikiego karty dla ZSH.

% zestaw -o glob_subst

Teraz, jeśli uruchomisz poprzednie polecenia, lista plików dziennika wyświetli się.

Wniosek

Bash i ZSH to bardzo przydatne powłoki dla użytkowników Linuksa. Obie skorupy mają kilka przydatnych funkcji. Użytkownik może wybrać powłokę na podstawie wymaganego zadania. Niektóre ważne różnice między tymi dwoma powłokami opisano w tym artykule przy użyciu odpowiednich przykładów. Mam nadzieję, różnice między tymi dwiema skorupami zostaną wyczyszczone dla czytelników po przeczytaniu tego artykułu