Skript Interpreten in Linux: Unterschied zwischen den Versionen
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 | + | == 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 | ||
| − | ! | + | ! Interpreter |
|- | |- | ||
| .pl | | .pl | ||
| Zeile 18: | Zeile 22: | ||
| cmd.exe | | cmd.exe | ||
|} | |} | ||
| − | ==Der | + | |
| − | Unter | + | == Der Interpreter in der Linux-Welt == |
| − | der | + | |
| − | Bytes | + | * 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 | ||
| − | + | ||
| − | + | * Hier sehen wir, dass die Datei als normaler ASCII-Text erkannt wird. | |
| − | (bsh), | + | * 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 | + | * '''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 | #!/bin/bash | ||
date | date | ||
hostname | hostname | ||
pwd | pwd | ||
| − | Selbst in der C | + | |
| − | *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?