Skript Interpreten in Linux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 56: | Zeile 56: | ||
= Aufgaben = | = Aufgaben = | ||
| − | + | * Reihen 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 sie sich? | ||
Version vom 12. Oktober 2025, 19:05 Uhr
Der Interpretor in der Windowswelt
Eine Datei wird anhand ihrer Endung einem Program zugeordnet.
Das ist auch bei Skripten so.
Sie werden anhand ihrer Endung an einen Interpretor übergeben.
| Endung | Interpretor |
|---|---|
| .pl | Perl |
| .py | Python |
| .bat | command.com |
| .cmd | cmd.exe |
Der Interpret in der Linuxwelt
- Unter Unix/Linux entscheidet nicht die Dateiendung welchem Interpret ein Skript übergeben wird
- Dateiendungen sind optional und eher für die Organisation gedacht
- Der Dateityp und damit der Interpret wird durch die ersten Bytes des Dateiinhalts selbst bestimmt
- echo "echo Hallo Welt" > skript
- file skript
skript: ASCII text
- Hier sehen wir, dass es als normaler ASCII Text interpretiert wird.
- Bei einem Programmaufruf wird es 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 es 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/Shebang) als Interpret für das Skript benutzt
#!/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
- Reihen 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 sie sich?