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
?
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.
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.
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.
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
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
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)