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. | Zsh | Bater |
1 | Os usuários são menos quando comparados com o Bash | Os usuários são mais e, portanto, o apoio da comunidade também |
2 | A conclusão automática é mais rápida | A conclusão automática não é mais rápida como o Zsh |
3 | Zsh tem expansão de curinga em linha | O 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 plugins | A 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 Zsh | O 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:
- Rust vs C ++
- Endereço físico vs endereço lógico
- Lista vs Conjunto - Comparações úteis
- Array vs ArrayList