Skript Interpreten in Linux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
==Der Interpretor in der Windowswelt== | ==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. | ||
{| border=1 cellpadding="2" | {| border=1 cellpadding="2" | ||
|- | |- | ||
| Zeile 21: | Zeile 23: | ||
|} | |} | ||
| − | ==Der | + | == Der Interpret in der Linuxwelt == |
| − | Unter | + | |
| − | der | + | * Unter Unix/Linux entscheidet nicht die Dateiendung welchem Interpret ein Skript übergeben wird |
| − | + | * Dateiendungen sind optional und eher für die Organisation gedacht | |
| − | *file skript | + | * 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 | skript: ASCII text | ||
| − | + | ||
| − | es einfach der aktuellen Shell übergeben (es gibt | + | * Hier sehen wir, dass es als normaler ASCII Text interpretiert wird. |
| − | (bsh), korn-shell (ksh), ash | + | * 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. |
| − | an den Skriptanfang einfach ein #! an, in unserem Fall ein #!/bin/bash für die Bourne-Again Shell. | + | * '''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 | #!/bin/bash | ||
date | date | ||
hostname | hostname | ||
pwd | pwd | ||
| − | Selbst in der C shell ist somit sichergestellt ,dass das Skript der Bash übergeben wird | + | |
| − | *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 = | ||
| + | |||
| + | * [[Aufgaben Prinzip der Bash]] | ||
Aktuelle Version vom 1. Juni 2023, 13:59 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