Skript Interpreten in Linux: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==Der Interpretor in der Windowswelt== {| border=1 cellpadding="2" |- ! Endung ! Interpretor |- | .pl | Perl |- | .py | Python |- | .bat | command.com |- | .c…“)
 
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Der Interpretor in der Windowswelt==
+
== Der Interpreter in der Windows-Welt ==
 +
 
 +
Eine Datei wird anhand ihrer Endung einem Programm zugeordnet.
 +
 
 +
Das ist auch bei Skripten so – sie werden anhand ihrer Endung an einen Interpreter übergeben.
  
 
{| border=1 cellpadding="2"
 
{| border=1 cellpadding="2"
 
|-
 
|-
 
! Endung
 
! Endung
! Interpretor
+
! Interpreter
 
|-
 
|-
 
| .pl
 
| .pl
Zeile 18: Zeile 22:
 
| cmd.exe
 
| cmd.exe
 
|}
 
|}
==Der Interpretor in der Linuxwelt==
+
 
Unter Unix/Linux entscheidet nicht die Suffix welchem Interpretor ein Skript übergeben wird, da ja in
+
== Der Interpreter in der Linux-Welt ==
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
+
* Unter Unix/Linux entscheidet nicht die Dateiendung, welchem Interpreter ein Skript übergeben wird.
*file skript
+
* Dateiendungen sind optional und dienen eher der Organisation.
 +
* Der Dateityp – und damit der Interpreter – wird durch die ersten Bytes des Dateiinhalts bestimmt.
 +
* '''echo "echo Hallo Welt" > skript'''
 +
* '''file skript'''
 +
 
 
  skript: ASCII text
 
  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
+
* Hier sehen wir, dass die Datei als normaler ASCII-Text erkannt wird.
(bsh), korn-shell (ksh), ash). Um sicherzugehen, dass es der richtigen Shell übergeben wird, fuegt man  
+
* Bei einem Programmaufruf wird sie einfach der aktuellen Shell übergeben (es gibt außer der Bash noch andere Shells, z. B. Bourne-Shell (bsh), Korn-Shell (ksh), ash).
an den Skriptanfang einfach ein #! an, in unserem Fall ein #!/bin/bash für die Bourne-Again Shell.
+
* '''chmod +x skript'''
Das bedeutet ,dass das Programm welches hinter dem #! (Gobang Operator) steht der Interpretor ist,  
+
* '''./skript'''
dem das Skript übergeben wird.
+
 
 +
Hallo Welt
 +
 
 +
* Um sicherzugehen, dass das Skript der richtigen Shell übergeben wird, fügt man an den Skriptanfang einfach ein ''#!'' an in unserem Fall ein ''#!/bin/bash'' für die Bourne-Again Shell.
 +
* Dadurch wird das Programm, welches hinter dem ''#!'' (Shebang/Gobang Operator) steht, als Interpreter für das Skript verwendet.
 +
 
 
  #!/bin/bash
 
  #!/bin/bash
 
  date
 
  date
 
  hostname
 
  hostname
 
  pwd
 
  pwd
Selbst in der C shell ist somit sichergestellt ,dass das Skript der Bash übergeben wird
+
 
*file skript
+
* Selbst in der C-Shell ist somit sichergestellt, dass das Skript der Bash übergeben wird.
 +
 
 +
* '''csh'''
 +
* '''file skript'''
 +
 
 
  skript: Bourne-Again shell script text executable
 
  skript: Bourne-Again shell script text executable
 +
 +
= Aufgaben =
 +
* Reichen Sie die Befehle '''ls''', '''ip a''' und '''id''' in einem Skript aneinander und führen Sie es aus.
 +
* Wie bestimmt man, welcher Shell das Skript übergeben wird?
 +
* Welche Möglichkeiten gibt es, ein Skript aufzurufen?
 +
* Und wie unterscheiden sich diese Möglichkeiten?

Aktuelle Version vom 12. Oktober 2025, 19:06 Uhr

Der Interpreter in der Windows-Welt

Eine Datei wird anhand ihrer Endung einem Programm zugeordnet.

Das ist auch bei Skripten so – sie werden anhand ihrer Endung an einen Interpreter übergeben.

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

Der Interpreter in der Linux-Welt

  • Unter Unix/Linux entscheidet nicht die Dateiendung, welchem Interpreter ein Skript übergeben wird.
  • Dateiendungen sind optional und dienen eher der Organisation.
  • Der Dateityp – und damit der Interpreter – wird durch die ersten Bytes des Dateiinhalts bestimmt.
  • echo "echo Hallo Welt" > skript
  • file skript
skript: ASCII text
  • Hier sehen wir, dass die Datei als normaler ASCII-Text erkannt wird.
  • Bei einem Programmaufruf wird sie einfach der aktuellen Shell übergeben (es gibt außer der Bash noch andere Shells, z. B. Bourne-Shell (bsh), Korn-Shell (ksh), ash).
  • chmod +x skript
  • ./skript
Hallo Welt
  • Um sicherzugehen, dass das Skript der richtigen Shell übergeben wird, fügt man an den Skriptanfang einfach ein #! an – in unserem Fall ein #!/bin/bash für die Bourne-Again Shell.
  • Dadurch wird das Programm, welches hinter dem #! (Shebang/Gobang Operator) steht, als Interpreter für das Skript verwendet.
#!/bin/bash
date
hostname
pwd
  • Selbst in der C-Shell ist somit sichergestellt, dass das Skript der Bash übergeben wird.
  • csh
  • file skript
skript: Bourne-Again shell script text executable

Aufgaben

  • Reichen Sie die Befehle ls, ip a und id in einem Skript aneinander und führen Sie es aus.
  • Wie bestimmt man, welcher Shell das Skript übergeben wird?
  • Welche Möglichkeiten gibt es, ein Skript aufzurufen?
  • Und wie unterscheiden sich diese Möglichkeiten?