🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

Guia de pontos de verificação de compatibilidade para quem muda do Bash para o Zsh

Na série de introdução ao Zsh até agora, aprendemos sobre o encanto do Zsh, o seu uso básico e como personalizá-lo com o Oh My Zsh. Muitos de vós provavelmente tomaram a firme decisão de "Ok, a partir de agora, vou usar o Zsh como o meu shell principal!". Essa decisão é fantástica!

No entanto, quanto mais habituado estiver ao Bash, mais provável é que, ao mudar, lhe surjam preocupações sobre a compatibilidade, como "Os scripts Bash que tenho usado ainda funcionarão?" ou "O que devo fazer com os meus ficheiros de configuração?". É uma sensação semelhante a mudar-se de uma casa em que viveu durante anos para um novo apartamento de alta tecnologia e preocupar-se se os seus móveis e eletrodomésticos ainda servirão.

Não se preocupe, na maioria dos casos, a transição do Bash para o Zsh é extremamente suave. Neste artigo, compilámos uma lista de pontos de verificação de compatibilidade importantes para que possa concluir a sua mudança para o Zsh com total tranquilidade. Ao ler isto, poderá evitar as "armadilhas" da migração antecipadamente e começar a sua vida no seu novo ambiente de shell com confiança!


O uso interativo (uso diário) quase não apresenta problemas!

Em primeiro lugar, e mais importante, no uso interativo do terminal — ou seja, no trabalho diário de digitar comandos um a um — quase não existem grandes incompatibilidades entre o Bash e o Zsh.

Comandos básicos como ls, cd, cp, mv, rm funcionam exatamente da mesma maneira. O comportamento dos pipelines (|) e das redireções (>, >>) também é o mesmo. Na verdade, como aprendemos no artigo anterior, com funcionalidades melhoradas como o preenchimento automático e o histórico, a sua experiência de uso diário deverá ser muito mais confortável com o Zsh.


Pontos de verificação de compatibilidade de scripts de shell

Onde é preciso ter cuidado é principalmente ao executar scripts de shell. Vamos percorrer os pontos que podem potencialmente tornar-se problemas ao tentar executar um script Bash que escreveu ou obteve de algum lugar num ambiente Zsh.

Ponto de verificação 1: Verificar o shebang

Este é o ponto mais importante. A linha no início de um ficheiro de script, #!/bin/bash, é chamada de "shebang". Esta é uma instrução clara para o SO para "por favor, execute este script com o Bash".

#!/bin/bash

# Este script será executado pelo Bash, mesmo que o seu shell padrão seja o Zsh
echo "Hello from Bash!"

Desde que este shebang esteja escrito corretamente, mesmo que o seu shell padrão tenha sido alterado para Zsh, esse script será executado corretamente pelo Bash. Por outras palavras, a maioria dos scripts Bash no mundo funcionará perfeitamente num ambiente Zsh sem quaisquer alterações.


Ponto de verificação 2: Indexação de arrays

Como já abordámos num artigo anterior, a incompatibilidade mais famosa entre o Bash e o Zsh é o manuseamento dos índices dos arrays (números de elemento). É preciso ter cuidado com isto ao escrever novos scripts no Zsh.

No Bash, o primeiro elemento está no índice 0.

# No caso do Bash
my_array=("apple" "banana" "cherry")
echo ${my_array[0]}
# Saída: apple

Por outro lado, no Zsh, o primeiro elemento está no índice 1.

# No caso do Zsh
my_array=("apple" "banana" "cherry")
echo $my_array[1]
# Saída: apple

Ao reescrever um script Bash para Zsh, por exemplo, se não estiver ciente desta diferença, pode causar a obtenção de elementos do array com um desfasamento de um.


Ponto de verificação 3: Migração de ficheiros de configuração (`.bashrc` -> `.zshrc`)

Quando usava o Bash, talvez tenha escrito os seus próprios aliases e configurações de variáveis de ambiente em ficheiros como .bash_profile ou .bashrc. Ao mudar para o Zsh, estas configurações não são transferidas automaticamente. É necessário "mudar" as suas configurações para o ficheiro de configuração do Zsh, ~/.zshrc.

Por exemplo, digamos que tinha as seguintes configurações no seu .bashrc:

# Exemplo de configurações que estavam no .bashrc
alias ll='ls -alF'
alias g='git'

export EDITOR='vim'
export PATH="/usr/local/bin:$PATH"

Felizmente, a maioria destas funcionará apenas copiando-as e colando-as no final do seu ficheiro .zshrc. Também pode mover as suas configurações de uma só vez com o seguinte comando.


cat ~/.bash_profile >> ~/.zshrc

Depois disso, execute source ~/.zshrc ou reinicie o seu terminal, e os seus aliases e configurações familiares também estarão ativos no Zsh.


Conclusão

Desta vez, compilámos uma lista de verificação de compatibilidade para aqueles que estão a considerar uma mudança do Bash para o Zsh. Com isto, a sua ansiedade sobre a migração foi resolvida?

O Zsh é verdadeiramente um shell para o programador moderno, mantendo a facilidade de uso do Bash e, ao mesmo tempo, estando equipado com muito mais funcionalidades convenientes. Desde que entenda algumas pequenas diferenças, não há razão para não fazer a mudança. Com isto concluímos a nossa série de introdução ao Zsh.

Com esta nova "arma definitiva" nas suas mãos, esperamos sinceramente que a sua jornada de criação web futura seja mais confortável, criativa e eficiente!