Skript Interpreten in Linux
Zur Navigation springen
Zur Suche springen
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?