Skript Interpreten in Linux: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 54: Zeile 54:
  
 
  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

Aufgaben