Se você já conferiu este artigo no qual explico em detalhes o que é e como funciona o terminal do Linux, é provável que se lembre da breve apresentação que fiz de alguns dos principais interpretadores shell disponíveis. Retomando o tema, falarei sobre o ZSH (Z Shell), uma das soluções mais populares da categoria.
O ZSH um interpretador de comando para shell scripting cuja finalidade é facilitar o uso da ferramenta em si. Entre suas características, destacam-se a gama de personalizações que podem ser aplicadas em sua interface e, principalmente, as otimizações disponíveis para o terminal do Linux.
Por que a customização é tão interessante nesse sentido? Raciocinemos: imagine que diversos comandos longos e repetitivos sejam previamente interpretados, como no recurso autocomplete do Google, e você não precise digitá-los por completo. Isso não tornaria a sua rotina no terminal mais rápida e eficiente? Pois é desse tipo de aprimoramento que estou falando.
Quer saber como a “mágica” acontece? Legal, então continue a leitura deste artigo para aprender um pouco da história do ZSH, suas funcionalidades e processo de instalação.
Conhecendo a origem do Z Shell
Dentro do ambiente universitário, por exemplo, é muito comum que professores ensinem fatos marcantes da História da computação. É a partir daí que muitos estudantes passam a entender, entre muitas coisas, que navegar em um sistema operacional já consistiu apenas em digitar comandos num terminal parecido com o que utilizamos na atualidade.
Considerando o fato de que os computadores eram utilizados muito antes do imbróglio envolvendo Steve Jobs e Bill Gates, o qual aprimorou e expandiu o conceito de interface gráfica, o terminal se manteve, durante muito tempo, como único meio eficiente de comunicação entre humanos e máquinas.
Passando para o ano de 1977, o cientista da computação Stephen Bourne desenvolveu para sistemas Unix o famoso Bourne shell, o qual veio a se tornar um dos mais influentes interpretadores já criados, dando origem ao próprio ZSH.
Falando no próprio, o Z Shell foi desenvolvido inicialmente por Paul Falstad, em 1990, como versão estendida do já consolidado Bourne shell, fornecendo aos usuários novas funcionalidades e suporte a temas e plugins.
Desde então o desenvolvimento do ZSH passou por outros especialistas e segue evoluindo graças à quase irrestrita licença de software livre MIT. Até o instante em que escrevo o presente artigo, a última atualização da ferramenta aconteceu em fevereiro de 2019.
Entendendo as principais funcionalidades do ZSH
Os recursos presentes no ZSH são numerosos a ponto de justificarem a sua ampla adoção pelos usuários. Praticamente, é como dar um plus ao terminal, o qual, normalmente, já nos permite fazer muitas coisas.
A maioria das funcionalidades às quais me refiro está concentrada nas linhas de comando. Alguns exemplos em destaque:
- recurso name completion (preenchimento automático) de variáveis, funções e opções (flags);
- expansão de variáveis e histórico de comandos;
- edição de variáveis; e
- impressão de texto diretamente no buffer para editá-lo rapidamente.
Outro aspecto relevante do ZSH é o processo de globbing. Mas o que é isso afinal? Definindo-o de maneira concisa, trata-se de uma função que consiste no uso de caracteres especiais (wildcards) para representar o nome de um arquivo, por exemplo.
Tipicamente, são usados símbolos como asterisco (*), interrogação (?) e colchetes ([]) para facilitar e agilizar um processo. Quer uma demonstração de como isso pode ajudar a melhorar a sua rotina? Utilize o asterisco para obter a lista completa de partições presentes no seu computador, digitando:
$ ls -l /dev/sda*
No ZSH essa funcionalidade chega a ser ainda mais sofisticada. O usuário consegue, por exemplo, atribuir arquivos por características de tamanho e tipo e acionar buscas recursivas por meio do comando find.
Instalando o ZSH com frameworks
Eu poderia mencionar diversas outras features interessantes do ZSH. Contudo, melhor do que isso, ressalto que os recursos presentes nele podem ser expandidos por meio de frameworks específicos, transformando o shell em um super ambiente de trabalho que podemos customizar livremente.
Um dos frameworks mais populares para gerenciar as configurações do ZSH é o “Oh My ZSH!”. Ele é um programa de código aberto, desenvolvido comunitariamente por mais de 1250 especialistas, e que fornece centenas de complementos entre plugins e temas para o shell.
A possibilidade de escolher entre vários temas para personalizar o terminal é um capricho, ainda que possamos deixá-lo mais intuitivo ao trabalhar com um esquema de cores. A grande sacada em usar o Oh My ZSH está na quantidade de plugins altamente funcionais à disposição.
Por exemplo, se você trabalha com um conjunto de ferramentas, como AWS (plataforma de cloud computing), PostgreSQL (banco de dados) e Yum (gerenciamento de arquivos), basta instalar os plugins específicos para que funcionalidades sejam adicionadas aos respectivos comandos.
Interessado em trazer esses e muitos outros aprimoramentos ao seu ambiente de trabalho? Então confira um passo a passo para montar o ambiente shell ideal para os seus objetivos.
Montando um ambiente shell produtivo com o ZSH
O procedimento de instalação do ZSH é simples. Nas linhas de comando que mostrarei a seguir, faremos o download, a instalação e a configuração dele como padrão do sistema. Digite:
sudo apt update sudo apt install zsh chsh -s /bin/zsh
Concluídas as etapas, reinicie o sistema ou faça o logout e retorne. Agora, o ZSH está pronto para ser utilizado — experimente realizar alguns testes antes de prosseguir.
Por sua vez, a instalação do Oh My ZSH pode ser feita a partir do comando curl ou, se preferir, usando o wget. Acione um dos comandos, abaixo:
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Muito simples, não é mesmo? Daqui em diante você só precisa escolher os plugins e temas que deseja instalar (veja a lista de plugins, aqui) e mandar ver. Não deixe de compartilhar a sua experiência com o ZSH nos comentários. Combinado?
Está gostando de aprender com os conteúdos aqui do blog e deseja se tornar um administrador de sistemas? Recomendo que visite o site Profissionais Linux e veja o que fazer para otimizar os estudos na área.