Bash vs zsh forskjeller og sammenligning

Bash vs zsh forskjeller og sammenligning
Bash Shell er standardskallet for Linux, og det frigjøres ved utskifting av Bourne Shell. Mange automatiserte oppgaver og programmeringsløsninger kan gjøres av Bash Enkelt. Det er mange andre skjell tilgjengelig i Linux for å gjøre samme type verk som Bash. Z skall eller Zsh er en av dem som er oppfunnet etter Bash. Den har mange funksjoner som bash, men noen funksjoner i Zsh Gjør det bedre og forbedret enn bash, for eksempel stavekorreksjon, CD -automatisering, bedre tema og plugin -støtte, etc. Linux -brukere trenger ikke å installere bash -skallet fordi det er installert som standard med Linux -distribusjon. Zsh eller Z Shell er ikke installert i systemet som standard. Brukerne må installere dette skallet for å bruke det. Noen funksjoner er vanlige for Bash og Zsh Men det er noen store forskjeller mellom disse skjellene som er beskrevet i denne artikkelen med riktig forklaring.

Ved hjelp av 'CD'Kommando

'CD' -kommando brukes i både bash og zsh -skall for å endre gjeldende katalog. Funksjonen som katalogene rekursivt søkes for å finne ut filer og mapper, heter rekursiv baneutvidelse som bare støttes av ZSH. Bruken av 'CD' -kommando i bash og zsh shell vises her.

Bash

Du må skrive inn katalogens fulle ban.

$ CD -kode/python

Zsh

Katalogen og filen kan lett søkes i dette skallet. Hvis du skriver CD + Space + C + Tab I ZSH -skallet vil den søke på en hvilken som helst fil- eller mappenavn starter med 'c'Og det vil vise navnet på filen eller mappen som blir funnet først.

% CDC

For eksempel, hvis koden mappen er funnet, og den vises. Hvis du igjen skrev '/P' Da vil det vise filene og mappenavnet starter med 'p'.

% CD p

Stavekorreksjon

Stavekontrollen er en veldig nyttig funksjon for ethvert skall. Brukerne kan enkelt rette opp skrivefeilen med denne funksjonen. Denne funksjonen støttes av begge Bash og Zsh. Men stavekorreksjon kan gjøres mer effektivt i Zsh skall. Bruken av denne funksjonen er vist for begge skjellene nedenfor.

Bash

Anta at du vil gå til katalogen 'Musikk'Men du har skrevet'Mugisk ' Ved en feiltakelse vil Bash Shell ikke oppdage stavefeilen som standard, og det vil vise en feilmelding: “Ingen slik fil eller katalog”.

$ CD MUGIC

Du må aktivere stavekontrollen for å rette opp denne typen problemer. Åpen ~/.Bashrc Fil i enhver redigerer for å legge til linjen for å aktivere stavekontrollen. Her, The Nano Redaktør brukes til å redigere filen.

$ nano ~/.Bashrc

Legg til følgende linje på slutten av filen, lagre og lukk filen.

Shopt -S Cdspell

Kjør nå følgende kommando for å bekrefte endringen permanent.

$ kilde ~/.Bashrc

Hvis du kjører ovennevnte 'CD ' Kommando med stavefeil fra terminalen, så korrigerer den automatisk mappenavnet.

$ CD MUGIC

Zsh

Stavekontrollen er ikke aktivert som standard i Zsh Shell også. Så hvis du kjører 'Echo' -kommandoen som følgende kommando med stavefeil, vil den vise feilmeldingen.

% EHCO "Hello World"

Åpen ~/.Zshrc fil i en hvilken som helst redigerer og legg til følgende linjer på slutten av filen. Den første linjen vil aktivere stavekontrollen i Zsh. Standard alternativverdiene for stavekontrollen er, [nyae] Det indikerer ikke, ja, aborter og rediger. Den andre linjen vil endre standardverdiene for å gjøre alternativene mer forståelige for brukeren. Her, Nano Redaktør brukes til å redigere filen.

% nano ~/.Zshrc
setopt riktig
Eksport Sprompt = "Riktig %R til %R? [Ja, nei, aborter, rediger] "

Lagre og avslutte filen og kjør følgende kommando for å oppdatere endringen.

% kilde ~/.Zshrc

Kjør igjen forrige kommando og sjekk utdataene. Nå vil brukeren få alternativene til å korrigere utdataene. Hvis du skriver "y", blir stavemåten korrigert automatisk.

% EHCO "Hello World"

Hvis du vil gjøre utgangen mer effektiv ved å bruke farger, kjører du følgende kommando fra Zsh Shell for å aktivere fargen.

% Autoload u Colors && farger

Etter det, legg til følgende linje i ~/.Zshrc fil som før.

Eksport SPROMPT = "Riktig $ FG [RED]%R $ RESET_COLOR TIL $ FG [GRØNN]%R $ RESET_COLOR?
[Ja, nei, aborter, rediger] "

Kjør nå hvilken som helst kommando med stavefeil og sjekk utdataene. Her vises feilordet med rød farge, og riktig ord vises med grønn farge.

% EHCO "Hello World"

Bruke temaer

Utseendet til skallet kan endres ved å bruke forskjellige temaer og plugins. Både bash- og zsh -skjell har mange typer temaer for å endre utseendet til skallet. Hvordan tema kan brukes i bash og zsh shell vises i neste del av denne artikkelen.

Bash

Du må installere git for å installere et hvilket som helst bash -tema. Kjør følgende kommando for å installere git -pakken.

$ sudo apt-get install git

Etter å ha installert git, Kjør følgende kommando for å lage en klone av Bash-it mal.

$ git klon - -Dypth = 1 https: // github.com/bash-it/bash-it.git ~/.bash_it

Kjør følgende kommando for å installere Bash-it mal etter kloning av den. Trykk 'y'Når det vil be om å holde sikkerhetskopien av ~/.bash_profile eller ~/.Bashrc og vedlegg bash-it Mal på slutten av filen.

Følgende utgang vises etter å ha fullført installasjonsprosessen.

Nå, hvis du åpner ~/.Bashrc Fil ved å bruke hvilken som helst redigerings Filen vil inneholde følgende innhold. 'Bobby' er satt som standardtema for bash-it-mal.

Kjør følgende kommando for å bekrefte oppdateringen av skallet.

$ kilde ~/.Bashrc

Følgende ledetekst vises i terminalen etter å ha installert malen riktig. Lukk terminalen nå. Du vil se den samme bash -ledeteksten når du åpner terminalen.

Mange temaer er tilgjengelige for bash-it Mal disse visningene Bash -ledeteksten på forskjellige måter. En av dem er 'misunne' tema. Hvis du vil angi dette temaet, så åpent ~/.Bashrc -fil ved å bruke hvilken som helst redaktør og endre 'BASH_IT_THEME'Verdi til'misunne'.

Igjen, løp 'kilde'Kommando for å bekrefte oppdateringen permanent. Følgende utgang vises etter å ha satt "misunnelse" -temaet.

Zsh

Som bash har Zsh Shell mange temaer. Et av ZSH -temaene er Oh-my-zsh. Kjør følgende kommando for å installere dette temaet for Zsh Shell.

% sh -c "$ (curl -fssl
https: // rå.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) "

Etter å ha installert temaet, trykk 'y ' For å lage standard skall til Zsh.

Det vil be om rotpassordet for å fullføre installasjonsprosessen. Følgende utgang vises etter å ha fullført installasjonsprosessen.

Nå, hvis du åpner ~/.zshrc -fil så vil du se oppføringene for Oh-my-zsh mal. 'RobbyRussell' settes som standardtema for malen.

For å holde endringen permanent, må du kjøre "kilde" -kommandoen.

% kilde ~/.Zshrc

Hvis du vil endre temaet til 'pil'Så åpne ~/.zshrc -fil i enhver redigerings og endre verdien av 'ZSH_THEME' til 'pil'.

Du må kjøre 'kilde -kommandoen igjen for å oppdatere endringen permanent for Zsh Shell. Følgende pilsymbol vises etter å ha satt dette temaet.

% kilde ~/.Zshrc

Hvis du lukker terminalen og åpner Zsh -skallet igjen, vises følgende utgang.

Ved hjelp av Wildcard Expansion

Wildcard -utvidelse kan brukes i bash på forskjellige måter uten noen omgivelser. Men Wildcard -utvidelse er ikke aktivert i Zsh Shell som standard. Hvordan Wildcard -utvidelse kan brukes i bash og ZSH vises i denne delen av denne artikkelen.

Bash

Anta at du må finne ut alle filer med utvidelsesloggen 'på den nåværende plasseringen ved å bruke' Echo '-kommandoen. Her, verdien, '*.Logg' er tilordnet variabelen, filer som brukes i 'Echo' -kommando for å vise listen over alle loggfiler.

$ ls
$ files = "*.Logg"
$ ekko $ filer

Zsh

Hvis du kjører ovennevnte kommandoer i Zsh Shell, vil verdien av $ filer skrives ut i stedet for loggfillisten fordi Wildcard Expansion ikke er aktivert som standard for Zsh Shell.

% ls
% fil = "*.Logg"
% ekko $ filer

Kjør følgende kommando for å aktivere utvidelse av jokertegn for Zsh.

% sett -o glob_subst

Nå, hvis du kjører de tidligere kommandoene, vises listen over loggfiler.

Konklusjon

Bash og Zsh er veldig nyttige skjell for Linux -brukere. Begge skjellene har noen nyttige funksjoner. Brukeren kan velge skallet basert på den nødvendige oppgaven. Noen viktige forskjeller mellom disse to skjellene er beskrevet i denne artikkelen ved å bruke riktige eksempler. Håper, forskjellene mellom disse to skjellene vil bli fjernet for leserne etter å ha lest denne artikkelen