In einfachen Worten ist ein Befehl eine Anweisung (oder ein Befehlssatz), die von einem Computer ausgeführt wird.
Standalone-Befehle
Fundamental Unix - Dienstprogramme wie ls
, ln
etc. ( in der Regel) in C geschrieben und kompiliert eigenständige ausführbare werden Programme , die ausgeführt keinen Dolmetscher erforderlich ist; Normalerweise müssen bestimmte Bibliotheksdateien auf dem System installiert sein, aber das ist eine Antwort auf eine andere Frage.
Skripte
Ein Skript ist eine Sammlung von Befehlen, und Skripte selbst werden als Befehle betrachtet.
Ein Perl-Skript ist eine Folge von Perl-Anweisungen und erfordert ein perl
ausführbares (eigenständiges und kompiliertes) Programm , um die Perl-Anweisungen zu interpretieren.
Manchmal werden große und komplexe interpretative Skripte (in Sprachen wie Perl, Python und Ruby) auch als interpretierte Programme bezeichnet, während der Begriff Skript kürzeren und einfacheren Skripten vorbehalten ist.
Ein Shell-Skript ist eine Folge anderer Befehle (jeder Befehlstyp) und erfordert eine Unix-Shell wie Bash, um das Skript zu interpretieren. Von der Bash-Manpage:
Bash ist ein sh-kompatibler Befehlsspracheninterpreter, der Befehle ausführt, die von der Standardeingabe oder aus einer Datei gelesen werden.
Shell-Einbauten
Shells verfügen normalerweise über integrierte Befehle, bei denen es sich weder um eigenständige Programme noch um Skripte handelt. Stattdessen sind sie Teil der Shell selbst und werden direkt von der Shell ausgeführt. cd
ist ein Beispiel für einen solchen eingebauten Befehl.
Manchmal gibt es Befehle, die gleichzeitig als Shell-Built-Ins und als Standalone-Befehle existieren, z echo
. B. den Befehl.
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
echo
Führt die integrierte Shell eigenständig aus, während der eigenständige Befehl ausgeführt werden kann, indem der vollständige Pfad angegeben wird.
Führen Sie die integrierte Version von echo aus:
$ echo --version
--version
Führen Sie ein eigenständiges echo
Programm aus:
$ /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.
Hinweis: Die obigen Angaben beziehen sich auf eine Unix-Umgebung, gelten jedoch auch für eine Windows-Umgebung.