Bash vs ZSH diferenças e comparação

Bash vs ZSH diferenças e comparação
Bash Shell é o shell padrão do Linux e é liberado na substituição do Bourne Shell. Muitas tarefas automatizadas e soluções de programação podem ser feitas por Bash facilmente. Existem muitas outras conchas disponíveis no Linux para fazer o mesmo tipo de trabalho como Bash. Z shell ou Zsh é um deles que é inventado depois Bash. Tem muitos recursos como Bash, mas alguns recursos de Zsh torne -o melhor e melhorado que o Bash, como correção de ortografia, automação de CD, melhor tema e suporte ao plug -in etc. Os usuários do Linux não precisam instalar o shell do bash porque ele é instalado por padrão com a distribuição do Linux. Shell ZSH ou Z não está instalado no sistema por padrão. Os usuários precisam instalar este shell para usá -lo. Alguns recursos são comuns para Bash e Zsh Mas existem algumas grandes diferenças entre essas conchas que são descritas neste artigo com explicação adequada.

Usando 'cdComando

O comando 'CD' é usado no shell Bash e Zsh para alterar o diretório atual. O recurso pelo qual os diretórios são pesquisados ​​recursivamente para descobrir arquivos e pastas é chamada Expansão de caminho recursivo que é suportado apenas pelo ZSH. O uso do comando 'CD' em Bash e Zsh Shell é mostrado aqui.

Bash

Você precisa digitar o caminho completo do diretório em Bash para alterar o diretório e a expansão do caminho recursivo não é suportado pelo Bash.

$ CD Code/Python

Zsh

O diretório e o arquivo podem ser pesquisados ​​facilmente neste shell. Se você digitar CD + Space + C + Guia No Shell Zsh, ele pesquisará qualquer nome de arquivo ou pasta começar com 'c'E mostrará o nome de arquivo ou pasta que é encontrado primeiro.

% CDC

Por exemplo, se o código a pasta é encontrada e será exibida. Se você novamente digitou '/P' Em seguida, ele mostrará os arquivos e o nome da pasta começa com 'p'.

% CD p

Correção ortográfica

O verificador ortográfico é um recurso muito útil para qualquer shell. Os usuários podem corrigir facilmente o erro de digitação por este recurso. Este recurso é suportado por ambos Bash e Zsh. Mas a correção de ortografia pode ser feita com mais eficiência em Zsh concha. O uso desse recurso é mostrado para ambas as conchas abaixo.

Bash

Suponha que você queira ir para o diretório 'Música'Mas você digitou'Mugic ' Por engano, o Bash Shell não detectará o erro de ortografia por padrão e mostrará uma mensagem de erro: “Não existe tal arquivo ou diretório”.

$ CD Mugic

Você precisa permitir que o verificador ortográfico corrija esse tipo de problema. Abrir ~/.Bashrc Arquivo em qualquer editor para adicionar a linha para ativar o verificador ortográfico. Aqui o Nano O editor é usado para editar o arquivo.

$ nano ~//.Bashrc

Adicione a seguinte linha no final do arquivo, salve e feche o arquivo.

shopt -s cdspell

Agora, execute o seguinte comando para confirmar a mudança permanentemente.

$ fonte ~//.Bashrc

Se você correr o acima 'cd' Comando com erro de ortografia do terminal, então ele corrigirá automaticamente o nome da pasta.

$ CD Mugic

Zsh

O verificador ortográfico não está ativado por padrão no zsh shell também. Então, se você executar o comando 'echo' como o seguinte comando com erro de ortografia, ele mostrará a mensagem de erro.

% EHCO "Hello World"

Abrir ~/.ZSHRC Arquive em qualquer editor e adicione as seguintes linhas no final do arquivo. A primeira linha permitirá o verificador ortográfico em Zsh. Os valores de opção padrão do verificador ortográfico são, [nyae] Isso indica Não, sim, abortar e editar. A segunda linha alterará os valores padrão para tornar as opções mais compreensíveis para o usuário. Aqui, Nano O editor é usado para editar o arquivo.

% nano ~//.ZSHRC
Setopt correto
exportar sprompt = "correto %r para %r? [Sim, não, abortar, editar] "

Salve e saia do arquivo e execute o seguinte comando para atualizar a alteração.

% fonte ~//.ZSHRC

Execute novamente o comando anterior e verifique a saída. Agora, o usuário terá as opções para corrigir a saída. Se você digitar "y", a ortografia será corrigida automaticamente.

% EHCO "Hello World"

Se você deseja tornar a saída mais eficaz usando cores, execute o seguinte comando do zsh shell para ativar a cor.

% AUTOLOAD U CORES && CORES

Depois disso, adicione a seguinte linha em ~/.ZSHRC arquivo como antes.

exportar sprompt = "correto $ fg [vermelho]%r $ reset_color para $ fg [verde]%r $ reset_color?
[Sim, não, abortar, editar] "

Agora, execute qualquer comando com erro de ortografia e verifique a saída. Aqui, a palavra de erro será exibida pela cor vermelha e a palavra correta será exibida pela cor verde.

% EHCO "Hello World"

Usando temas

A aparência do prompt do shell pode ser alterada usando diferentes temas e plugins. As conchas Bash e Zsh têm muitos tipos de temas para mudar a aparência da concha. Como o tema pode ser usado no shell Bash e Zsh é mostrado na próxima parte deste artigo.

Bash

Você tem que instalar o git para instalar qualquer tema bash. Execute o seguinte comando para instalar o pacote git.

$ sudo apt-get install git

Depois de instalar o git, execute o seguinte comando para fazer um clone de Bash-it modelo.

$ git clone -profundidade = 1 https: // github.com/bash-it/bash-it.git ~//.Bash_it

Execute o seguinte comando para instalar Bash-it modelo depois de cloná -lo. Imprensa 'y'Quando pedir para manter o backup de ~/.Bash_profile ou ~/.Bashrc e anexar Bash-it modelo no final do arquivo.

A saída a seguir aparecerá após a conclusão do processo de instalação.

Agora, se você abrir o ~/.Bashrc Arquivo usando qualquer editor O arquivo conterá o seguinte conteúdo. 'Bobby' está definido como tema padrão para o modelo Bash-It.

Execute o seguinte comando para confirmar a atualização do shell.

$ fonte ~//.Bashrc

O prompt a seguir aparecerá no terminal após a instalação do modelo corretamente. Agora, feche o terminal. Você verá o mesmo prompt de bash sempre que abrir o terminal.

Muitos temas estão disponíveis para Bash-it modelo aqueles que exibem o prompt de bash de maneiras diferentes. Um deles é 'inveja' tema. Se você deseja definir este tema, abra ~/.arquivo BashRC usando qualquer editor e altere o 'BASH_IT_THEME'valor para'inveja'.

Novamente, execute o 'fonteComando para confirmar a atualização permanentemente. A saída a seguir aparecerá após definir o tema 'inveja'.

Zsh

Como Bash, Zsh Shell tem muitos temas. Um dos temas do ZSH é Oh-my-zsh. Execute o seguinte comando para instalar este tema para o zsh shell.

% sh -c "$ (CURL -FSSL
https: // cru.Github.com/robbyrussell/oh-my-zsh/mestre/ferramentas/instalação.sh) "

Depois de instalar o tema, pressione 'você Para fazer o shell padrão para o ZSH.

Ele solicitará a senha raiz para concluir o processo de instalação. A saída a seguir aparecerá após a conclusão do processo de instalação.

Agora, se você abrir o ~/.arquivo zshrc então você verá as entradas para Oh-my-zsh modelo. 'Robbyrussell' é definido como tema padrão para o modelo.

Para manter a mudança permanentemente, você precisa executar o comando 'fonte'.

% fonte ~//.ZSHRC

Se você quiser mudar o tema para 'seta'Então abra ~//.arquivo ZSHRC em qualquer editor e altere o valor de 'Zsh_theme' para 'seta'.

Você tem que executar o comando 'fonte' novamente para atualizar a alteração permanentemente para o zsh shell. O seguinte símbolo de seta aparecerá após definir este tema.

% fonte ~//.ZSHRC

Se você fechar o terminal e abrir novamente o shell zsh, a seguinte saída aparecerá.

Usando expansão curinga

A expansão curinga pode ser usada em Bash de maneiras diferentes, sem qualquer ambiente. Mas a expansão curinga não está ativada no shell zsh por padrão. Como a expansão do curinga pode ser usada no Bash e o ZSH é mostrado nesta parte deste artigo.

Bash

Suponha que você precise descobrir todos os arquivos com a extensão 'log' do local atual usando o comando 'echo'. Aqui, o valor, '*.registro' é atribuído à variável, arquivos que são usados ​​no comando 'echo' para exibir a lista de todos os arquivos de log.

$ ls
$ files = "*.registro"
$ eco $ arquivos

Zsh

Se você executar os comandos acima no zsh shell, o valor dos arquivos $ imprimirá em vez da lista de arquivos de log porque a expansão do curinga não será ativada por padrão para o zsh shell.

% ls
% file = "*.registro"
% eco $ arquivos

Execute o seguinte comando para ativar a expansão do curinga para o ZSH.

% SET -O GLOB_SUBST

Agora, se você executar os comandos anteriores, a lista de arquivos de log será exibida.

Conclusão

Bash e Zsh são conchas muito úteis para usuários do Linux. Ambas as conchas têm alguns recursos úteis. O usuário pode selecionar o shell com base na tarefa necessária. Algumas diferenças importantes entre essas duas conchas são descritas neste artigo usando exemplos adequados. Esperança, as diferenças entre essas duas conchas serão limpas para os leitores depois de ler este artigo