Em termos simples, um comando é uma instrução (ou um conjunto de instruções) a ser executada por um computador.
Comandos Independentes
Unix utilitários fundamentais, tais como ls
, ln
, etc, são (em geral) escrita em C e compilado para ser executável autónomo programas que não requerem um intérprete para ser executado; eles geralmente exigem que certos arquivos de biblioteca sejam instalados no sistema, mas isso é uma resposta para outra pergunta.
Scripts
Um script é uma coleção de comandos e, de fato, os próprios scripts são considerados um comando.
Um script Perl é uma sequência de declarações do Perl e requer um perl
executável (stand-alone e compilado) programa para interpretar as declarações de Perl.
Às vezes, scripts interpretativos grandes e complexos (em linguagens como Perl, Python e Ruby) também são chamados de programas interpretados, enquanto o termo script é reservado para scripts mais curtos e simples.
Um script de shell é uma sequência de outros comandos (qualquer tipo de comando) e requer um shell do Unix, como o Bash, para interpretar o script. Na página do manual do Bash:
Bash é um interpretador de linguagem de comando compatível com sh que executa comandos lidos a partir da entrada padrão ou de um arquivo.
Shell interno
Conchas geralmente têm built-in comandos que não são nem programas nem roteiros Stand Alone-. Em vez disso, eles fazem parte do próprio shell e são executados diretamente pelo shell. cd
é um exemplo desse comando interno.
Algumas vezes existem comandos que existem como shell embutidos e como comandos independentes ao mesmo tempo, por exemplo, o echo
comando.
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
echo
por si só executa o shell embutido enquanto o comando independente pode ser executado, fornecendo seu caminho completo.
Execute a versão interna do eco:
$ echo --version
--version
Execute o echo
programa independente :
$ /usr/bin/echo --version
echo (GNU coreutils) 8.23
Packaged by Cygwin (8.23-4)
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Nota: As especificações acima se referem a um ambiente Unix, mas os mesmos princípios se aplicam a um ambiente Windows.