web-development-kb-pt.site

Qual Shell devo usar - tcsh vs bash?

Estou usando tcsh há muito tempo. Mas sempre que procuro algo, geralmente descubro que os métodos especificados são bash específicos. Até a sintaxe dos scripts do Shell é diferente para os dois.

Pelo que experimentei pesquisar e aprender na internet, bash parece ser o Shell mais usado. Até o número de perguntas neste site marcadas com bash é muito mais (cinco vezes mais atualmente) do que o número de perguntas marcadas com tcsh.

Então, eu estou querendo saber se devo mudar para o bash. O que você acha?

Por que devo me ater a tcsh OR por que devo passar para bash?

30
Lazer

Depois de aprender o bash, acho que o tcsh é um passo atrás. Por exemplo, o que eu poderia fazer facilmente no bash, acho difícil fazer no tcsh. Minha pergunta sobre tcsh . O suporte e a documentação da Internet também são muito melhores para o bash e muito limitados para o tcsh. O número de livros da O'Reilly no bash é grande, mas não encontrei nada semelhante para o tcsh.

23
Andrew Stern

Na verdade, você deve passar para zsh! É essencialmente compatível com versões anteriores e tem toda a utilidade de bash com uma grande ajuda enorme de grandiosidade . Existe até um livro (embora eu não tenha conseguido ler).

Eu admito que m motivo para não usar zsh acima de bash, mas a menos que você esteja trabalhando constantemente em várias novas instalações, isso realmente não se aplica. Especialmente se você souber sobre o mais significativo diferenças . No entanto, isso é realmente semelhante às diferenças entre vim e vi; você não quer ser ingênuo, mas praticamente não é grande coisa. Até usuários hardcore de vim podem se orientar em torno de emacs e vice-versa.

25
gvkv

Você deve mudar para um Shell compatível com POSIX http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html , como um dos bash, ksh, dash, mas não zsh e certamente não tcsh. Faz muito tempo que o csh foi declarado uma má opção para scripts: http://www.faqs.org/faqs/unix-faq/Shell/csh-whynot/ , o tcsh não é muito diferente nessa área.

Ao escrever scripts, certifique-se de usar apenas construções POSIX (ou seja, evitar bashisms e gostos) se você não quiser ser bloqueado novamente em algo não portátil.

19
jlliagre

A compatibilidade obcecada está faltando, eu acho. Se você tentar tornar tudo compatível colocando #!/bin/sh No topo e usando extensões . Sh, mas nunca teste em nada além de bash, você não garantido um script compatível! Melhor usar apenas #!/bin/bash E . Bash para que os usuários realmente saibam o requisito real.

Se você conhece zsh, tcsh, ou algo melhor que bash, e tem um bom manual de referência, não esconda nada . Assim como as pessoas esperam instalar Perl ou python para poder executar alguns scripts, elas também podem lidar com a instalação do seu obscuro Shell! : D

7
Kevin Cantu

Qual shell? Escolha aquele com a melhor proporção "facilidade de uso" vs "aborrecimentos" ...

Se você não encontrar exemplos e explicações gerais suficientes para o seu Shell "Maserati", o desempenho extra pode ser mais um problema do que um bônus ...

Achei este artigo/site interessante; pode valer a pena ler:
Diferenças do shell UNIX e como alterar seu shell

6
Peter.O

o zsh provavelmente tem mais algumas semelhanças com o tcsh do que o bash.

Consulte: http://zsh.sourceforge.net/FAQ/zshfaq02.html#l1

As pessoas costumam afirmar que o zsh pode fazer coisas que o bash não pode, mas não achei que fosse esse o caso. O que eu vi é que, para o zsh, é mais fácil, embutido ou ativado por padrão, enquanto que no bash é um script adicional, deve ser ligado ou é mais difícil.

(aviso: sou um usuário do bash que às vezes considerou mudar para o zsh)

0
KellyClowers