Pergunta

O shell padrão no Mac OS X é bash, o que eu geralmente estou feliz de estar usando.Eu só levá-lo para concedido.Seria muito bom se auto-concluído mais coisas, porém , eu tenho ouvido coisas boas sobre zsh em relação a isso.Mas eu realmente não tenho a intenção de passar horas a mexer com as configurações para melhorar a minha linha de comandos o uso de uma pequena quantidade, já que minha vida na linha de comando não é tão ruim.

(Como eu entendo, bash também pode ser configurado para auto-completar mais inteligente.É a configuração que eu não sou tudo o que ambiciona.)

Vai mudar para zsh, mesmo que em pequeno número de casos, fazer a minha vida mais fácil?Ou é somente um shell de melhor se você colocar o tempo para aprender por é melhor?(Exemplos seria bom, muito :) )


@Rodney Amato & @Vulcan Ansioso dar dois bons motivos para, respectivamente, vara a bash e mude para zsh.Parece que eu vou ter que investigar tanto!Oh, bem :)

Há alguém com uma opinião de ambos os lados do argumento?

Foi útil?

Solução

Para uso casual, você provavelmente é melhor ficar com o bash e apenas instalar o bash conclusão.

A instalação é bem fácil, pegue a bash-completion-20060301.tar.gz a partir de http://www.caliban.org/bash/index.shtml#completion e extraia-o com

tar -xzvf bash-completion-20060301.tar.gz

em seguida, copie o bash_completion/bash_completion arquivo para /etc com

sudo cp bash_completion/bash_completion /etc

que irá pedir a você pela sua senha.Você provavelmente vai querer fazer um /etc/bash_completion.d diretório para qualquer adicional de conclusão de scripts (por exemplo, eu tenho o git conclusão script de lá).

Uma vez que isso é feito, o último passo é certificar-se .bash_profile arquivo em seu diretório home tem

if [ -f /etc/bash_completion ]; then
     . /etc/bash_completion 
fi

para carregar a conclusão de arquivo quando você entrar.

Para testá-lo basta abrir um terminal novo, e tente completar em cvs e deve mostrar-lhe o cvs opções na lista de conclusões.

Outras dicas

Pessoalmente, eu adoro zsh.

Geralmente, você provavelmente não vai notar a diferença entre ele e o bash, até que você quiser fazer as coisas como recursiva globbing:

  • **/*.c por exemplo.

Ou uso do sufixo aliases para associar específicos progs com diferentes sufixos, de modo que você pode "executar" - los diretamente.Abaixo alias permite que você "executar" um arquivo de origem C no prompt, basta digitar ./my_program.c – o que vai funcionar exatamente como se você digitou vim ./my_program.c.(O equivalente a duas vezes sobre o ícone de um arquivo.)

  • alias -s c=vim

Ou imprimir os nomes dos arquivos modificados de hoje:

  • print *(e:age today now:)

Provavelmente, você pode fazer todas essas coisas em bash, mas a minha experiência com o zsh é que, se há algo que eu quero fazer, eu provavelmente pode encontrá-lo em zsh-amantes.Eu também acho o livro 'A partir do Bash para Z-Shell"realmente útil.

Jogar com a mente bogglingly grande número de opções é bem divertido também!

Alterne para o zsh.Você terá acesso a:

  1. zmv:Você pode fazer: zmv '(*).mp3' '$1.wma' para milhares de arquivos.
  2. zcalc:Extremamente confortável, calculadora, melhor do que bc.
  3. zparseopts:One-liner para análise arbitrário complexas opções para o seu script.
  4. autopushd:Você sempre pode fazer popd depois de cd para mudar de volta para o diretório anterior.
  5. Suporte a ponto flutuante.É necessário de tempo em tempo.
  6. Hashes de suporte.Às vezes, eles são apenas um recurso-chave.

Se tudo que você deseja usar ZSH é melhor conclusão, a configuração é muito fácil.Coloque isto no seu ~/.zshrc:

autoload -U zutil      # [1]
autoload -U compinit   # [2]
autoload -U complist   # [3]
compinit

No entanto, vale a pena conferir todas as outras grandes características do ZSH.O exemplo acima irá dar-lhe um muito simples de comandos com boa conclusão.Se você não quer mexer com as configurações, mas quero ver o que ZSH pode fazer por você, no Google por "zshrc" e você vai obter algumas pronto para usar configurações para começar.

zsh tem um console de configuração gui coisa.Você pode configurá-lo de forma muito rápida e fácil, sem ter que mexer com arquivos de configuração.Eu não acho que você vai precisar de muito tempo para configurá-lo, provavelmente por 10 segundos, com apenas usando padrões, então vá em frente e experimentá-lo.

Staale está falando de um assistente como o programa (CUI), que o autoruns a primeira vez que você executar o zsh.Basta responder a algumas perguntas, visualizar/alterar os padrões e configurado para você.

IBM developerWorks tem grandes recursos no zsh.

Eu não tenho usado muito funcionalidades avançadas e até agora eu não encontrei grandes diferenças que deve prejudicar alguém vindo do bash.

Alguns exemplos:

  • !?padrão<Tab> vai preenchimento automático para o último comando no histórico de correspondência o padrão.Muito útil.

  • Você pode configurar o prompt na RHS.Um uso é manter um fixo largura de linha de comandos do lado esquerdo assim, todos os comandos de linha até bem enquanto exibindo pwd (ou em qualquer coisa de largura variável) como a mão direita do lado de comandos.

  • Você pode redirecionar a entrada de vários arquivos (que ainda tente isto):gato < arquivo1 < arquivo2 < arquivo3

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top