Linguagens de programação, acesso ao shell do Linux e do Windows [closed]

1

Qual é a diferença entre a ferramenta de acesso ao shell do Linux e do Windows?

Em algumas linguagens de programação (linguagens web da minha experiência) quando você precisa executar algum comando - você precisa especificar o caminho para o cmd.exe no Windows, enquanto no Linux você acessa o shell imediatamente ... O que e por que é A diferença? O que exatamente as linguagens atingem nos dois sistemas quando você executa algum tipo de comando os.execute() ?

EDIT: Esta é uma questão bastante teórica e não está relacionada a práticas de programação. Eu sei que isso pode não ser simples de explicar o tópico, então ligar ou mostrar a direção certa para cavar também funcionará.

Aqui está um dos exemplos em coldfusion (que é um estranho esquisito que eu devo dizer):

<cfexecute name="C:\Windows\System32\cmd.exe" arguments="echo Hm" />
    
por Ruslan Osipov 17.08.2012 / 15:35

3 respostas

3

Bem, vou tentar ser simples (assunto amplo)

A diferença entre windows e linux é clara, o core não é o mesmo, não vou na direção da história (verifique na wikipedia se você estiver curioso;), mas o linux tende a preferir script porque isso permite usuário para personalizar a instalação ou o sistema operacional como quiser, o windows usa .exe que modifica a chave de registro para executar o programa.

Por que você precisa digitar todo o caminho para executar o windows exe é bem simples (eu não entro em uma explicação muito chata), o windows realmente não usa a variável global (easy explaination: the registerkey don ' t realmente precisa disso para operar o exe), enquanto o linux tende a amar a variável global, na verdade você pode facilmente adicionar uma variável global no linux que aponte para o seu script.

Então quando você quer rodar um script linux você digita o cmd (apontando para a variável global que contém o caminho), e então a mágica vai. Para windons você é a variável global, então você precisa definir o caminho para o exe a ser executado. Você pode criar sua própria variável global no Windows e usá-la como o Linux, se quiser, mas não goste de fazer isso.

Espero que você entenda um pouco melhor o princípio.

    
por 17.08.2012 / 16:26
2

São plataformas completamente diferentes e a maioria dos comandos executados através de seus respectivos shells seria incompatível, com exceção do Cygwin no Windows, que usa os mesmos comandos que um shell linux.

Como regra geral, tente evitar usar chamadas específicas do sistema operacional sempre que possível.

    
por 17.08.2012 / 15:38
1

De dentro do python, posso dizer:

>>> rc = os.system('echo yes')
yes
>>>

Isso funcionará da mesma maneira no Windows, no Linux ou em qualquer outra variante do Unix.

Eu acho que o fenômeno que você observou é específico para a portabilidade da língua em questão.

E observe que o subconjunto de cadeias de comando que produziria resultados idênticos é muito limitado. O Windows e o Unix têm muito poucos comandos em comum.

    
por 17.08.2012 / 16:07