Já houve um pouco de atividade sobre o assunto em outros sites do Stack Exchange. Minha experiência de mudar de bash para zsh, tanto quanto posso lembrar (era anos atrás²), é que eu não perdi uma única coisa. Eu ganhei muito; aqui estão os recursos específicos do zsh que eu mais uso:
-
O recurso zsh que mais sinto falta quando ocasionalmente uso bash é autocd: em zsh, executar um diretório significa mudar para ele, desde que você ative a opção
autocd.⁴ -
Outro recurso muito útil é a globalização extravagante. Os caracteres
hieroglyphs são um pouco difíceis de lembrar, mas extremamente convenientes (como em, geralmente é mais rápido consultá-los do que gravar o comando findequivalente). Alguns dos exemplos mais simples:
foo*~*.bak= todas as correspondências defoo*, exceto as correspondentes a*.bak
foo*(.)= apenas arquivos regulares correspondentes afoo*
foo*(/)= apenas diretórios correspondentes afoo*
foo*(-@)= apenas links simbólicos pendentes que correspondem afoo*
foo*(om[1,10])= os 10 arquivos mais recentes que correspondem afoo*
foo*(Lm+1)= apenas arquivos de tamanho > 1MB
dir/**/foo*=foo*no diretóriodire todos os seus subdiretórios, recursivamente⁴ -
Para renomear fantasia, o
zmvbuiltin pode ser útil. Por exemplo, para copiar todos osfileparafile.bak:zmv -C '(*)(#q.)' '$1.bak' -
Tanto o bash quanto o zsh têm um sistema de conclusão decente que precisa ser ativado explicitamente (
. /etc/bash_completionouautoload -U compinit; compinit). O Zsh é muito mais configurável e geralmente mais sofisticado.
Se você executar zsh sem .zshrc , ele inicia um menu interativo que permite escolher opções de configuração. (Algumas distribuições podem desabilitar isso; nesse caso, execute autoload zsh-newuser-install; zsh-newuser-install .) Eu recomendo ativar as opções de histórico recomendadas, ativando a conclusão (“novo estilo”) e ativando as “opções comuns de shell”, exceto beep . Mais tarde, configure mais opções conforme você as descobre.
² Na época, a conclusão programável era o recurso matador do zsh, mas o bash o adquiriu logo após.
⁴ Recursos que o bash adquiriu apenas na versão 4 (portanto, ainda não estão disponíveis em muitos sistemas) estão em um tipo menor.