Skript Interpreten in Linux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (7 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 | |||
der | * Unter Unix/Linux entscheidet nicht die Dateiendung, welchem Interpreter ein Skript übergeben wird. | ||
Bytes | * Dateiendungen sind optional und dienen eher der Organisation. | ||
*file skript | * 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?