razão pela qual o comando shell da bourne para obter um script é

2

existe um motivo maior pelo qual os desenvolvedores originais do bourne shell decidiram nomear o comando de origem . ?

(afaik o comando source é bourne específico, me corrija se eu estiver errado)

observe que o bash tem um alias para . chamado source , que é muito mais legível. sh não tem esse alias, o que significa que . não é um formato abreviado para source .

    
por lesmana 16.08.2010 / 22:58

2 respostas

2

Como wikipedia afirma, o shell Bourne foi escrito como um substituto para o primeiro shell de todos os tempos, Shell Thompson , e o último foi pode ser a causa ... alguém que conheça o ALGOL, por favor, me corrija.

Tais decisões básicas de design raramente são rastreáveis às suas raízes apenas porque eram óbvias para os programadores originais, ou tiradas de algum tempo comum e agora falado, ou apenas escolhidas aleatoriamente de uma lista de possibilidades.

Para mim, o comando dot é associado com "the current something", ou seja, como um alias para o interpretador em caso de shellscript, e a forma abreviada significa que não há fork do processo. Bem, esta não é uma boa explicação, mas não pior que qualquer outra.

upd: Você também pode dar uma olhada em este artigo no ComputerWorld. Embora não responda à sua pergunta em particular, pode ser interessante por si só.

    
por 16.08.2010 / 23:46
2

Eles não são totalmente sinônimos. Por exemplo, enquanto . é reconhecido por sh, ele não é interno para csh. Da mesma forma, enquanto source é interno para csh, não é um comando interno para sh.

Eu imagino que . em sh fez o mesmo que source em csh e, portanto, ambos foram implementados por razões de compatibilidade. Eu não estava vivo nos dias dourados de csh / sh (se eles já foram de ouro), então isso é mais especulação do que qualquer coisa;)

    
por 17.08.2010 / 00:58

Tags