O Shell é uma camada que faz a intermediação de comandos e/ou serviços entre o sistema operacional e o usuário, podendo ser dividido em dois grupos:

Os shells CLIs (Command Line Interface), são aqueles que usam uma interface baseada em texto, também chamada linha de comando. Ou seja, para executar qualquer ação, é necessário digitar um comando equivalente.

2022 03 10 10 54

O outro grupo são os shells GUI (Graphical User Interface), que usam uma interface gráfica para que os mesmos comandos não precisem ser digitados, utilizando ícones, atalhos e funções para essa tarefa, podemos citar como exemplo o popular Gnome Shell.

2022 03 10 10 58

Geralmente, quando falamos em shell estamos nos referindo aos shells CLIs, ao terminal. Neste contexto, existem alguns interpretadores de comando diferentes, cada um com suas particularidades.

Bash

O Bash é o mais popular entre os interpretadores de comando, sendo o padrão na maioria das distribuições Linux. 

O Bash (Bourne Again Shell), trata-se de uma implementação completa da especificação de shell IEEE POSIX e Open Group com edição de linha de comando interativa, controle de tarefas em arquiteturas que o suportam, recursos semelhantes ao csh, como substituição de histórico, expansão de chaves e uma enorme quantidade de outras características.

Lançado em 1989, o Bash foi escrito por Brian Fox para o Projeto GNU, para substituir o Bourne Shell (sh).

2022 03 10 11 27

As principais características do Bash são:

  • Edição de linha de comando;
  • Histórico de comandos de tamanho ilimitado;
  • Controle de trabalho;
  • Funções shell e aliases;
  • Arrays indexados de tamanho ilimitado;
  • Aritmética inteira em qualquer base de dois a sessenta e quatro.

Zsh

O Zsh vem se tornando bastante popular, trata-se de um shell projetado para uso interativo, embora também seja uma poderosa linguagem de script. 

Escrito por Paul Falstad e lançado em 1990, este shell incorporou muitos recursos úteis do Bash, Ksh e Tcsh, assim como muitos recursos originais foram adicionados.

2022 03 10 11 24

O Zsh é um interpretador de comandos altamente personalizável, contando com um projeto chamado Oh My Zsh, que gerencia as configurações do Zsh, fornecendo diversos plugins e temas para você poder deixar o Zsh pronto para o seu uso com enorme facilidade.

108254745 777cb400 716c 11eb 800a a8cfa612253f

Fish

O Fish é um shell de linha de comando totalmente equipado, inteligente e fácil de usar. O interpretador não adere a alguns padrões, sendo assim, a sintaxe de comandos pode variar um pouco.

O interpretador de comando suporta recursos poderosos, como realce de sintaxe, sugestões automáticas e preenchimento de guias por padrão, sem que o usuário necessite mexer em nenhum arquivo de configuração.

2022 03 10 12 00

Algumas das principais características no Fish Shell são:

  • Sugestões automáticas: o Fish sugere comandos conforme você digita com base no histórico e nas conclusões, assim como um navegador da web.
autosuggestion
  • Configuração baseada na Web: Você pode definir suas cores e visualizar funções, variáveis ​​e histórico, tudo em uma página da web.
web config
  • Sane Scripting: O Fish é totalmente programável e sua sintaxe é simples, limpa e consistente. Você nunca mais escreverá “esac” para fechar um bloco switch/case, por exemplo.
scripting

Fazendo uso avançado de Shell Script 

Quando o assunto são interpretadores de comando, é importantíssimo falarmos sobre shell script. Um shell script permite encadear comandos para solucionar tarefas mais complexas, como automatizar backups, redimensionar um lote de fotografias ou limpar erros de um arquivo de texto. Mas, eles não são apenas uma simples sequência de comandos e podem usar características comuns às linguagens de programação, como condições (if-then-else) e até loops (for, repeat).

2022 03 10 12 39

Se você quer aprender tudo sobre Shell Script para automatizar suas tarefas do cotidiano e tornar o seu dia a dia mais produtivo, o Diolinux Play em parceria com o SlackJeff está oferecendo um curso gratuito de Shell Script avançado do qual você pode participar gratuitamente.

E você aí, utiliza algum dos interpretadores de comando apresentados aqui? Qual é o seu interpretador favorito?

Um abraço, pessoal.
Até a próxima.


Newsletter Diolinux
Talvez Você Também Goste
Qual a diferença entre NTFS, FAT32 ou exFAT?
Continue lendo

Qual a diferença entre NTFS, FAT32 ou exFAT?

Quando for configurar uma unidade de armazenamento interna ou externa e que precise ser usada em diferentes sistemas, você deve escolher o melhor sistema de arquivos para cada caso. Entenda as diferenças dos sistemas NTFS, FAT32 ou exFAT, os mais usados para interoperabilidade.