In termini semplici, un comando è un'istruzione (o un insieme di istruzioni) da eseguire da un computer.
comandi stand-alone
Utility fondamentali di Unix come ls
, ln
, ecc, sono (di solito), scritto in C e compilati per essere eseguibili stand-alone programmi che non richiedono un interprete da eseguire; che di solito richiedono determinati biblioteca file da installare sul sistema, ma questo è una risposta per un'altra domanda.
Script
Uno script è una raccolta di comandi e di fatto, script stessi sono considerati un comando.
Uno script Perl è una sequenza di istruzioni Perl e richiede un perl
file eseguibile (stand-alone e compilato) il programma di interpretare le dichiarazioni Perl.
A volte grandi e complessi script interpretative (in linguaggi come Perl, Python e Ruby) sono anche denominati come programmi interpretati mentre il termine sceneggiatura è riservato per gli script più brevi e più semplici.
Uno script di shell è una sequenza di altri comandi (qualsiasi tipo di comando) e richiede una shell Unix come Bash per interpretare lo script. Dalla pagina man bash:
Bash è un interprete del linguaggio di comando compatibile sh che esegue i comandi letti dall'input standard o da un file.
Shell built-in
Conchiglie di solito hanno built-in comandi che non sono né programmi né script stand-alone. Invece, essi sono parte del serbatoio stesso e gestito direttamente dalla shell. cd
è un esempio di un tale comando incorporato.
Alcune volte ci sono comandi che esistono contemporaneamente come shell built-in e come comandi autonomi, ad esempio il echo
comando.
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
echo
esegue da solo la shell integrata mentre il comando autonomo può essere eseguito fornendo il suo percorso completo.
Esegui la versione integrata di echo:
$ echo --version
--version
Esegui echo
programma autonomo :
$ /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: Le specifiche sopra riportate si riferiscono ad un ambiente Unix, ma gli stessi principi si applicano a un ambiente Windows.