Skript Interpreten in Linux

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Der Interpretor in der Windowswelt

Eine Datei wird anhand ihrer Endung einem Program zugeordnet.

Das ist auch bei Skripten so.

Sie werden anhand ihrer Endung an einen Interpretor übergeben.

Endung Interpretor
.pl Perl
.py Python
.bat command.com
.cmd cmd.exe

Der Interpretor in der Linuxwelt

Unter Unix/Linux entscheidet nicht die Suffix welchem Interpretor ein Skript übergeben wird, da ja in der Regel keine Suffix vorhanden ist.

Die Art wird durch die Datei bestimmt, und zwar durch die ersten Bytes einer Datei. Wenn wir unser Skript mit

  • file skript
skript: ASCII text

untersuchen sehen wir, dass es als normaler ASCII Text interpretiert wird. Bei einem Programmaufruf wird es einfach der aktuellen Shell übergeben (es gibt ausser der bash noch andere Shells z.B. bourne-shell (bsh), korn-shell (ksh), ash). Um sicherzugehen, dass es der richtigen Shell übergeben wird, fuegt man an den Skriptanfang einfach ein #! an, in unserem Fall ein #!/bin/bash für die Bourne-Again Shell. Das bedeutet ,dass das Programm welches hinter dem #! (Gobang Operator) steht der Interpretor ist, dem das Skript übergeben wird.

#!/bin/bash
date
hostname
pwd

Selbst in der C shell ist somit sichergestellt ,dass das Skript der Bash übergeben wird

  • file skript
skript: Bourne-Again shell script text executable