O shell é o interpretador de comandos em um sistema operacional como Unix ou GNU/Linux, é um programa que executa outros programas. Ele fornece ao usuário do computador uma interface para o sistema Unix/GNU Linux para que o usuário possa executar diferentes comandos ou utilitários/ferramentas com alguns dados de entrada.
Quando o shell termina de executar um programa, envia uma saída para o usuário na tela, que é o dispositivo de saída padrão. Por essa razão, é referido como o ” interpretador de comandos”.
O shell é muito mais do que apenas um interpretador de comandos, é também uma linguagem de programação própria com construções de linguagem de programação completas, como execução condicional, loops, variáveis, funções e muito mais.
É por isso que o shell Unix/GNU Linux é mais poderoso em comparação com o shell do Windows.
Neste artigo, examinaremos alguns dos shells de código aberto mais usados no Unix/GNU Linux.
1. Bash Shell
O Shell Bash, ou simplesmente “Bash“, significa “Bourne Again SHell“. É uma melhoria do original Bourne Shell (sh) e foi introduzido em 1989 por Brian Fox.
Ao longo dos anos, Bash tornou-se um dos interpretadores de linha de comando mais populares e amplamente utilizados em múltiplas distribuições Linux e macOS (até Catalina, após o qual foi substituído por zsh).
Bash fornece aos usuários a capacidade de executar comandos, navegar pelo sistema de arquivos e executar scripts. Os usuários podem aproveitar recursos como histórico de comandos, autocompletação de tabulação e capacidades de script para automatizar tarefas e agilizar fluxos de trabalho.
O Shell Bash desempenhou um papel fundamental na evolução do cálculo de código aberto, oferecendo uma interface consistente para que os usuários interajam com seus sistemas.

2. Shell Tcsh/Csh
O Tcsh (pronunciado “tee-shell“) e Csh (pronunciado “see-shell“) são shells de linha de comando baseados em Unix que existem há décadas. Csh, ou o shell C, foi desenvolvido por Bill Joy no final dos anos 1970 na Universidade da Califórnia, Berkeley.
Apresentou vários recursos e sintaxe de script que foram inspirados pela linguagem de programação C, o que a tornou popular entre programadores familiarizados com C.
Tcsh é uma versão aprimorada da original Csh, que significa “Shell C Tenex”, com “Tenex” sendo uma referência ao sistema operacional TENEX.
Tcsh incorpora todos os recursos de Csh junto com melhorias adicionais, como edição de linha de comando, controle de trabalhos e autocompletar comandos.
Ambas as shells foram influentes no mundo Unix, com muitos usuários apreciando sua sintaxe de script única e recursos. No entanto, com o tempo, outras shells como bash ganharam mais popularidade devido a seus recursos extensivos e adoção generalizada.
No entanto, Tcsh e Csh permanecem uma parte integrante da história da shell Unix.

3. Shell Ksh
O KornShell, comumente conhecido como ksh, é uma shell Unix que foi desenvolvida por David G. Korn na AT&T Bell Laboratories no início dos anos 1980.
Ela combina recursos de ambas as shells C (csh) e Bourne (sh), visando fornecer o melhor dos dois mundos. Ao longo dos anos, ksh tem sido elogiada por suas capacidades de script avançadas, tornando-a uma favorita entre muitos administradores de sistema e usuários avançados.
Uma das características notáveis de ksh é o uso de matrizes associativas, uma característica que não era comum nos shells da época. Ele também introduziu o construtor select, que facilita a geração de menus em scripts.
Outra vantagem significativa é sua capacidade de edição de linha de comando e histórico, que foram posteriormente adotadas por outros shells como bash.

4. Shell Zsh
O shell Zsh, frequentemente referido simplesmente como “Zsh”, é um poderoso shell Unix que ganhou notável popularidade entre programadores e administradores de sistemas.
Nascido como uma extensão do Bourne Shell, o Zsh incorpora recursos de outros shells como Bash, ksh e tcsh, oferecendo um conjunto rico de recursos e uso interativo aprimorado.
Uma das características notáveis do Zsh é sua capacidade de autocompletar robusta. Ao contrário de outros shells, a autocompletação do Zsh é consciente do contexto, sugerindo comandos relevantes, caminhos de arquivos e até mesmo ramificações do Git, tornando a experiência do usuário mais suave e intuitiva.
Além disso, Zsh é altamente personalizável usando o Oh My Zsh framework, os usuários podem facilmente aplicar temas e plugins, melhorando tanto os aspectos estéticos quanto funcionais de seu ambiente de terminal.

5. Fish
Fish Shell é uma concha de linha de comando moderna e amigável que visa fornecer uma interface interativa e intuitiva para os usuários.
Ao contrário de conchas tradicionais como Bash ou Zsh, Fish oferece sugestões inteligentes fora da caixa, facilitando a navegação e execução de comandos tanto para iniciantes quanto para usuários experientes.
Um dos recursos notáveis de Fish é sua sugestão automática, que fornece feedback em tempo real com base na sua história de comando, permitindo uma execução de comando mais rápida.
Fish também possui uma interface vibrante e colorida, com destaque de sintaxe que facilita a leitura e compreensão de comandos. Sua configuração baseada na web permite que os usuários personalizem sua experiência de shell sem mergulhar em arquivos de configuração complexos.
Além disso, o Fish possui uma extensa e crescente coleção de plugins e temas contribuídos pela comunidade, que aprimoram sua funcionalidade e aparência.

Resumo
Essas não são as únicas shells disponíveis no Unix/GNU Linux, mas estão entre as mais comumente usadas, além das que vêm pré-instaladas em várias distribuições Linux.
I hope you find this article useful. For any additional information, please don’t hesitate to post a comment.
Source:
https://www.tecmint.com/different-types-of-linux-shells/