Comparação de shells? [fechadas]

0

As cascas têm alguma vantagem ou desvantagem real? Eles podem executar qualquer binário, todos eles suportam pipes e > (saída para arquivo). Por que escolheria bash sobre sh , ou sh sobre ksh , etc? Por que existe algum shell diferente de sh em primeiro lugar?

    
por tkbx 02.02.2013 / 18:40

2 respostas

3

Um executável sh é um requisito para sistemas operacionais contemporâneos semelhantes ao Unix. Existem vários padrões (por exemplo, POSIX ) ditando o que isso significa, embora desde "unix-like" não significa necessariamente "certificado compatível" com qualquer coisa, a realidade varia um pouco. Em geral, eles pelo menos implementam algo compatível com o sh , o shell Bourne original. É por isso que sh é geralmente um link simbólico , e "sh" é melhor compreendido hoje como um padrão para o comportamento de tudo o que ele liga.

bash é o Bourne Again Shell , que é o que o sh geralmente vincula em Sistemas GNU / Linux (mas existem outras possibilidades, como dash e ash ). O Bash inclui todos os recursos do sh e é destinado a fornecer compatibilidade retroativa para scripts sh. Aparentemente, há algumas possíveis falhas obscuras nessa compatibilidade, mas elas provavelmente não são muito significativas.

Portanto, em termos de funcionalidade, o bash estende sh; Ele faz tudo um sh e muito mais. Outra implementação sh estendida popular que também satisfaz POSIX é o KornShell , ksh .

A outra linhagem de shell de comando de propósito geral ainda usada no mundo * nix é shell C , csh . O shell C, no entanto, não é compatível com o código sh, e uma implementação nunca seria vinculada a sh .

    
por 02.02.2013 / 19:03
0

Diferenças mais comuns que você pode encontrar em Diferença entre ksh, bash e diferentes shells post no unix.com Minha opinião é que é como uma escolha de distros diferentes. Todo mundo escolhe o que ele gosta.

    
por 02.02.2013 / 18:51

Tags