<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Bash_Interpretator</id>
	<title>Bash Interpretator - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Bash_Interpretator"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Bash_Interpretator&amp;action=history"/>
	<updated>2026-05-16T04:13:25Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Bash_Interpretator&amp;diff=54070&amp;oldid=prev</id>
		<title>Maximilian.pottgiesser: Die Seite wurde neu angelegt: „ ==Der Interpretor in der Windowswelt==  {| border=1 cellpadding=&quot;2&quot; |- ! Endung ! Interpretor |- | .pl | Perl |- | .py | Python |- | .bat | command.com |- | .…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Bash_Interpretator&amp;diff=54070&amp;oldid=prev"/>
		<updated>2024-06-06T07:49:34Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „ ==Der Interpretor in der Windowswelt==  {| border=1 cellpadding=&amp;quot;2&amp;quot; |- ! Endung ! Interpretor |- | .pl | Perl |- | .py | Python |- | .bat | command.com |- | .…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Der Interpretor in der Windowswelt==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Endung&lt;br /&gt;
! Interpretor&lt;br /&gt;
|-&lt;br /&gt;
| .pl&lt;br /&gt;
| Perl&lt;br /&gt;
|-&lt;br /&gt;
| .py&lt;br /&gt;
| Python&lt;br /&gt;
|-&lt;br /&gt;
| .bat&lt;br /&gt;
| command.com&lt;br /&gt;
|-&lt;br /&gt;
| .cmd&lt;br /&gt;
| cmd.exe&lt;br /&gt;
|}&lt;br /&gt;
==Der Interpretor in der Linuxwelt==&lt;br /&gt;
Unter  Unix/Linux entscheidet nicht die Suffix welchem Interpretor ein Skript übergeben wird, da ja in &lt;br /&gt;
der Regel keine Suffix vorhanden ist. Die Art wird durch die Datei bestimmt, und zwar durch die ersten &lt;br /&gt;
Bytes einer Datei. Wenn wir unser Skript mit &lt;br /&gt;
*file skript&lt;br /&gt;
 skript: ASCII text&lt;br /&gt;
untersuchen sehen wir, dass es als normaler ASCII Text interpretiert wird. Bei einem Programmaufruf wird &lt;br /&gt;
es einfach der aktuellen Shell übergeben (es gibt ausser der bash noch andere Shells z.B. bourne-shell &lt;br /&gt;
(bsh), korn-shell (ksh), ash). Um sicherzugehen, dass es der richtigen Shell übergeben wird, fuegt man &lt;br /&gt;
an den Skriptanfang einfach ein #! an, in unserem Fall ein #!/bin/bash für die Bourne-Again Shell.&lt;br /&gt;
Das bedeutet ,dass das Programm welches hinter dem #! (Gobang Operator) steht der Interpretor ist, &lt;br /&gt;
dem das Skript übergeben wird.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 date&lt;br /&gt;
 hostname&lt;br /&gt;
 pwd&lt;br /&gt;
Selbst in der C shell ist somit sichergestellt ,dass das Skript der Bash übergeben wird&lt;br /&gt;
*file skript&lt;br /&gt;
 skript: Bourne-Again shell script text executable&lt;br /&gt;
&lt;br /&gt;
==Ablauf eines Shell-Skriptes==&lt;br /&gt;
*Starten einer Subshell&lt;br /&gt;
*Lesen der Skriptdatei von der Subshell (zeilenweise)&lt;br /&gt;
*Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
&lt;br /&gt;
Beenden der Subshell und Rückkehr zur aufrufenden Shell&lt;br /&gt;
&lt;br /&gt;
==Möglichkeiten ein Shellskript aufzurufen==&lt;br /&gt;
===bash skript (r)===&lt;br /&gt;
* Starten einer Subshell&lt;br /&gt;
* Lesen der Skriptdatei von der Subshell&lt;br /&gt;
* Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
* Beenden der Subshell und Rückkehr zur aufrufenden Shell&lt;br /&gt;
''(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes)''&lt;br /&gt;
 &lt;br /&gt;
===bash &amp;lt; skript (r)===&lt;br /&gt;
* Starten einer Subshell&lt;br /&gt;
* Lesen der Skriptdatei von der Subshell&lt;br /&gt;
* Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
* Beenden der Subshell und Rückkehr zur aufrufenden Shell&lt;br /&gt;
''(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes nicht)''&lt;br /&gt;
&lt;br /&gt;
===./skript (rx)===&lt;br /&gt;
* Starten einer Subshell&lt;br /&gt;
* Lesen der Skriptdatei von der Subshell&lt;br /&gt;
* Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
* Beenden der Subshell und Rückkehr zur aufrufenden Shell&lt;br /&gt;
''(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes, es muss zusätzlich das Ausführungsrecht gesetzt sein.)''&lt;br /&gt;
&lt;br /&gt;
===exec ./skript (rx)===&lt;br /&gt;
* Die Subshell ersetzt die aktuelle Shell (überlädt die aktuelle Shell)&lt;br /&gt;
* Lesen der Skriptdatei von der Subshell&lt;br /&gt;
* Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
* Beenden der Subshell; danach ist der Prozess der aufrufenden Shell beendet.&lt;br /&gt;
&lt;br /&gt;
===source skript  oder . skript (r)===&lt;br /&gt;
* Lesen der Skriptdatei von der aktuellen Shell &lt;br /&gt;
* Der interaktive Modus der aktuellen Shell wird „unterbrochen“&lt;br /&gt;
* Kommandos werden nacheinander abgearbeitet &lt;br /&gt;
''(Es wird kein neuer Prozess gestartet; Variablen haben in dieser Shell Gültigkeit)''&lt;/div&gt;</summary>
		<author><name>Maximilian.pottgiesser</name></author>
	</entry>
</feed>