Zsh vs Bash - As 36 principais diferenças que você deve saber

Índice:

Anonim

Diferença entre Zsh vs Bash

  • O Zsh é chamado Z Shell, uma extensão do Bash que possui muitos novos recursos e temas. Zsh foi lançado em 1990 por Paul Falstad. O Zsh também tem similaridades com o shell Korn. Linux e Mac OS usam Bash como shell padrão.
  • Bash é a abreviação do shell Bourne-again. Em 1971, o sistema operacional UNIX foi lançado junto com o shell Thompson. Em 1979, o shell Thompson foi modificado e lançado como shell Bourne. Brian Fox lançou o Bash em 1989 por seu projeto que forneceu melhorias em relação às versões anteriores. O lançamento do Bash aprimorou seu uso como uma linguagem de script. O Zsh padrão é diferente do Bash.

Comparação cara a cara entre Zsh vs Bash (Infográficos)

Abaixo está a comparação top 36 entre Zsh vs Bash:

Principais diferenças entre Zsh e Bash

Vamos discutir algumas das principais diferenças principais entre Zsh e Bash:

  • O Zsh é mais interativo e personalizável que o Bash.
  • O Zsh possui suporte de ponto flutuante que o Bash não possui.
  • As estruturas de dados hash são suportadas no Zsh que não estão presentes no Bash.
  • Os recursos de chamada no Bash são melhores quando comparados com o Zsh.
  • A aparência rápida pode ser controlada no Bash, enquanto o Zsh é personalizável.
  • Os arquivos de configuração são .bashrc em shells interativos sem login e .profile ou .bash_profile em shells de login do Bash. No Zsh, os shells sem login são .zshrc e os shells de login são .zprofile.
  • As matrizes Zsh são indexadas de 1 ao comprimento, enquanto o Bash é indexado de -1 ao comprimento.
  • No Zsh, se os padrões curinga não corresponderem a nenhum arquivo, será gerado um erro. Enquanto estiver no Bash, ele permanece inalterado.
  • O lado direito de um pipeline é executado como um shell pai no Zsh, enquanto no Bash, como um subshell.
  • No Zsh, a função zmv é usada para renomear em massa, enquanto no Bash precisamos usar o recurso de expansão de parâmetros.
  • O Bash possui bons recursos de script em uma única linha, enquanto no Zsh não conseguimos encontrar o mesmo.
  • A saída é armazenada em um arquivo temporário por padrão no Zsh enquanto no Bash não é.
  • Muitos recursos internos do Bash facilitam programas complexos, enquanto no Zsh os recursos internos de programas complexos são menores.
  • O Zsh gerencia seus arquivos efetivamente, enquanto o Bash não é bom em operá-los.

Tabela de comparação de Zsh vs Bash

A tabela abaixo resume as comparações entre Zsh e Bash:

Sr. Não.ZshBater

1

Os usuários são menos quando comparados com o BashOs usuários são mais e, portanto, o apoio da comunidade também

2

A conclusão automática é mais rápidaA conclusão automática não é mais rápida como o Zsh

3

Zsh tem expansão de curinga em linhaO Bash não possui expansão curinga embutida

4

A conclusão da guia é como um menu suspenso no Zsh.A conclusão da guia é como uma saída de comando no Bash.

5

O Zsh possui alias de comando de prefixo e sufixo.O Bash não possui alias de comando de prefixo e sufixo.

6

O Zsh segue o padrão POSIX mais de perto.O Bash não segue o padrão POSIX tanto quanto o Zsh.

7

A funcionalidade Zsh é mais configurável.A funcionalidade do Bash não é muito configurável.

8

A guia é usada para navegar entre as opções.Nenhuma opção está disponível no Bash.

9

O Zsh tem muitos temas e pluginsA opção bash para temas e plugins é menor.

10

Uma mudança no nome do diretório pode ser feita facilmente no Zsh.O nome do diretório não pode ser alterado automaticamente no Bash.

11

O Zsh irá corrigir a ortografia e a conclusão das palavras.O Bash não conserta nada por si só.

12

Enquanto assume o valor de uma variável, o Zsh tem várias maneiras de aplicar a transformação.O Bash tem muito poucas maneiras de aplicar a transformação à variável.

13

Os qualificadores de globos no Zsh mostram arquivos correspondentes baseados em metadados.O Bash não possui qualificadores Glob.

14

Padrões curinga extras são ativados automaticamente no Zsh.No Bash, padrões extras de curingas são ativados com a ajuda do shopt -s extglob.

15

# não é tratado como um comentário por padrão no Zsh.No Bash, # é considerado um comentário por padrão.

16

O Zsh possui configurações de configuração.O Bash tem configurações de compras.

17

O Zsh completa os nomes de comando e arquivo executando o compinit.O Bash conclui os nomes de arquivos e comandos executando bash_completion.

18

O Zsh é mais preciso e, se algo estiver errado, ele mostra um erro.O Bash faz coisas por si só que podem não estar certas, mas são sensatas.

19

O prompt Zsh contém porcentagens de escape.O prompt do Bash tem escapes de barra invertida.

20

Usando o Zsh, podemos criar prompts sofisticados.No Bash, não podemos criar prompts sofisticados.

21

As teclas de ligação no Zsh são feitas pela tecla de ligação. construídas em.O Bash usa .inputrc e a ligação incorporada para ligar chaves.

22

As configurações do usuário são armazenadas em .zshrc.As configurações do usuário são armazenadas em .bashrc.

23

O Zsh tem a comunidade Oh-my-Zsh para ajudar no script.O Bash não tem uma comunidade definida como tal, mas, como é antiga, há muitas comunidades online para oferecer suporte em scripts.

24

O Zsh pode exibir uma tela dividida semelhante à tela dividida do vim.Nenhuma opção está disponível no Bash.

25

Os cálculos podem ser feitos no Zsh usando o comando zcalc.A calculadora externa Expr e bc é usada no Bash para fazer cálculos.

26

No Zsh, o comando zparseopts é usado para analisar o script.O comando interno Getopts é usado no Bash para analisar scripts.

27

Aliases expandidos são permitidos em qualquer lugar da linha se o alias for usado no comando.O Bash não permite esse recurso na linha.

28.

Os scripts de ambiente do Zsh são zlogin, zlogout, zprofile, zshenv, zshrc.O Bash não possui muitos scripts de ambiente.

29

Durante a inicialização, o shellopts não é executado.O Shellopts é executado automaticamente ao iniciar o Bash.

30

Os scripts não são tão bons em comparação com o Bash.O Bash possui bons recursos de script.

31

O histórico é compartilhado em todas as instâncias no ZshO compartilhamento de histórico não é tão fácil no Bash.

32.

O Zsh não é nem um pouco parecido com o Emacs.Os atalhos no Bash são muito semelhantes ao Emacs.

33

A personalização é feita durante o processo de instalação no Zsh.A personalização é feita verificando as definições de configuração no Bash.

34

Arquivos de configuração não são fáceis de explorar.Os arquivos de configuração são facilitados no Bash.

35

O Zsh possui muitos recursos avançados.Os recursos não são avançados.

36.

O preenchimento automático é um recurso do Zsh.Plugins de terceiros precisam ser instalados para o preenchimento automático.

Conclusão

Os recursos de configuração interativa têm muitas diferenças ao comparar o Zsh e o Bash. O Zsh é conhecido por sua extensibilidade, boa personalização e recursos avançados. Como o Zsh é feito do Bash, quase 90% dos scripts são semelhantes e compatíveis com o Bash. O Zsh e o Bash têm muitas semelhanças e são facilmente portáteis. Muitos sistemas começaram a usar o Zsh como shell padrão.

Artigos recomendados

Este é um guia para Zsh vs Bash. Aqui também discutimos as principais diferenças entre Zsh e Bash com comparação cara a cara (infográficos) e tabela de comparação. Você também pode dar uma olhada nos seguintes artigos para saber mais:

  1. Rust vs C ++
  2. Endereço físico vs endereço lógico
  3. Lista vs Conjunto - Comparações úteis
  4. Array vs ArrayList