Skript Interpreten in Linux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | ==Der | + | == Der Interpreter in der Windows-Welt == |
| − | |||
| − | Das ist auch bei Skripten so. | + | 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 23: | Zeile 23: | ||
|} | |} | ||
| − | == Der | + | == Der Interpreter in der Linux-Welt == |
| − | * Unter Unix/Linux entscheidet nicht die Dateiendung welchem | + | * Unter Unix/Linux entscheidet nicht die Dateiendung, welchem Interpreter ein Skript übergeben wird. |
| − | * Dateiendungen sind optional und eher | + | * Dateiendungen sind optional und dienen eher der Organisation. |
| − | * Der Dateityp und damit der | + | * Der Dateityp – und damit der Interpreter – wird durch die ersten Bytes des Dateiinhalts bestimmt. |
* '''echo "echo Hallo Welt" > skript''' | * '''echo "echo Hallo Welt" > skript''' | ||
* '''file skript''' | * '''file skript''' | ||
| Zeile 33: | Zeile 33: | ||
skript: ASCII text | skript: ASCII text | ||
| − | * Hier sehen wir, dass | + | * Hier sehen wir, dass die Datei als normaler ASCII-Text erkannt wird. |
| − | * Bei einem Programmaufruf 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''' | * '''chmod +x skript''' | ||
* '''./skript''' | * '''./skript''' | ||
| Zeile 40: | Zeile 40: | ||
Hallo Welt | Hallo Welt | ||
| − | * Um sicherzugehen, dass | + | * 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 ''#!'' (Gobang Operator | + | * Dadurch wird das Programm, welches hinter dem ''#!'' (Shebang/Gobang Operator) steht, als Interpreter für das Skript verwendet. |
#!/bin/bash | #!/bin/bash | ||
| Zeile 48: | Zeile 48: | ||
pwd | pwd | ||
| − | Selbst in der C | + | * Selbst in der C-Shell ist somit sichergestellt, dass das Skript der Bash übergeben wird. |
* '''csh''' | * '''csh''' | ||
| Zeile 54: | Zeile 54: | ||
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?