Skript Interpreten in Linux: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 23: | 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 | ||
| + | * 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 | Selbst in der C shell ist somit sichergestellt, dass das Skript der Bash übergeben wird | ||
| − | *file skript | + | |
| + | * '''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