Shellskript: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) |
||
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Ein <b>Shellskript</b> (auch: Shell-Skript) ist ein für eine [[Shell]] geschriebenes [[ | Ein <b>Shellskript</b> (auch: Shell-Skript) ist ein für eine [[Shell]] geschriebenes [[Rechnerprogramm]]. Dieses Aneinanderhängen von [[Shell-Befehlen]] wird oft als einfache [[Programmiersprache]] angesehen. Typische Aufgaben solcher Shellskripte sind die Bearbeitung von Dateien, Programmausführung und die Textausgabe auf einen Drucker. Unter Microsoft Windows sind Shellskripte auch als "Batchdateien", "Stapeldateien" oder "Makros" bekannt. | ||
Viele Shellskript-Interpreter (z. B. die verschiedenen Unix-Shells, Windows PowerShell oder "command.com") sind gleichzeitig Befehlszeileninterpreter. | Zum Erstellen eines Shellskripts wird lediglich ein [[Texteditor]] benötigt (z. B. [[vi]]). Die Interpretation wird anschliessend von der ausführenden Shell übernommen. Viele Shellskript-Interpreter (z. B. die verschiedenen Unix-Shells, Windows PowerShell oder "command.com") sind gleichzeitig Befehlszeileninterpreter. | ||
Bei umfangreichen Prozessen können Shellskripte manchmal sehr viel Zeit benötigen. Da Shellskripte normalerweise Textzeilen auswerten, die sie als Rückgabewerte von anderen Befehlen erhalten, macht es ab einem gewissen Punkt also Sinn, statt eines Shellskripts eine echte Programmiersprache einzusetzen. | |||
== Aufruf eines Shellskripts == | == Aufruf eines Shellskripts == | ||
Standardmässig werden Shellskripte durch "/bin/sh" (bzw. die darauf gelinkte [[Shell]]) ausgeführt. Um die Ausführung des Shellskripts durch eine bestimmte Shell zu erzwingen, wird die "magische erste Zeile" ( | Standardmässig werden Shellskripte durch "/bin/sh" (bzw. die darauf gelinkte [[Shell]]) ausgeführt. Um die Ausführung des Shellskripts durch eine bestimmte Shell zu erzwingen, wird die "magische erste Zeile" ([[Shebang]]) innerhalb des Shellskripts verwendet, z. B. | ||
#!/bin/bash | #!/bin/bash | ||
Zeile 11: | Zeile 13: | ||
=== Manueller Aufruf im aktuellen Verzeichnis === | === Manueller Aufruf im aktuellen Verzeichnis === | ||
{| class=wiki width=100% | |||
! Aktuelles Verzeichnis !! colspan=2 | in "PATH" enthalten !! colspan=2 | <b>nicht</b> in "PATH" enthalten | |||
|- | |||
! [[Ausführrecht]] !! ja !! nein !! ja !! nein | |||
|- | |||
| <b>Skriptaufruf</b> | |||
| bgcolor=lightyellow | <tt># <b>script.sh</b></tt> | |||
| bgcolor=lightyellow | <tt># <b>. script.sh</b></tt> | |||
| bgcolor=lightyellow | <tt># <b>./script.sh</b></tt> | |||
| bgcolor=lightyellow | <tt># <b>. ./script.sh</b></tt> | |||
|} | |||
Aufruf des Shellskripts "script.sh" ohne Ausführungsrechte, mit "/bin/sh" (wobei "/bin" in der Variable "PATH" steht). | |||
# <b>sh script.sh</b> | # <b>sh script.sh</b> | ||
== Shellskript-Programmierung == | == Shellskript-Programmierung == | ||
{| class=wikitable | {| class=wikitable | ||
| [[Ein- und Ausgabeverarbeitung]] || Befehlsgruppierung, Befehlstrenner, Befehlsverknüpfung, Befehlsweiterleitung, Befehlsumleitung | | [[Ein- und Ausgabeverarbeitung]] || (Dateideskriptoren, Befehlsgruppierung, Befehlstrenner, Befehlsverknüpfung, Befehlsweiterleitung, Befehlsumleitung) | ||
|- | |- | ||
| [[ | | [[Befehlsersetzung]] || | ||
|- | |- | ||
| [[ | | [[Kontrollfluss]] || [[break]], [[continue]], [[exit]], [[false]], [[read]], [[set]], [[sleep]], [[test]], [[true]] | ||
|- | |- | ||
| [[Variable]] || | | [[Variable]] || Stellvertreter für einen bestimmten Wert. | ||
|- | |- | ||
| [[Verzweigung]] || [[case]], [[if]] | | [[Verzweigung]] || [[case]], [[if]] | ||
Zeile 42: | Zeile 44: | ||
| [[Schleife]] || [[for]], [[while]], [[until]] | | [[Schleife]] || [[for]], [[while]], [[until]] | ||
|- | |- | ||
| [[Regulärer Ausdruck]] | | [[Regulärer Ausdruck]] || Eine Zeichenkette, die der Beschreibung von Mengen mit Hilfe bestimmter syntaktischer Regeln dient. | ||
|} | |} | ||
Zeile 54: | Zeile 56: | ||
== Weblinks == | == Weblinks == | ||
{{ | {{Weblinks}} | ||
{{url_enwikipedia|Shell_script|Shell script}} | |||
{{Fuss}} | |||
Zeile 61: | Zeile 65: | ||
{{cat|Shell-Befehl}} | {{cat|Shell-Befehl}} | ||
{{cat|Shellskript}} | {{cat|Shellskript}} | ||
{{cat|UNFERTIG}} |
Aktuelle Version vom 3. Oktober 2011, 10:18 Uhr
Ein Shellskript (auch: Shell-Skript) ist ein für eine Shell geschriebenes Rechnerprogramm. Dieses Aneinanderhängen von Shell-Befehlen wird oft als einfache Programmiersprache angesehen. Typische Aufgaben solcher Shellskripte sind die Bearbeitung von Dateien, Programmausführung und die Textausgabe auf einen Drucker. Unter Microsoft Windows sind Shellskripte auch als "Batchdateien", "Stapeldateien" oder "Makros" bekannt.
Zum Erstellen eines Shellskripts wird lediglich ein Texteditor benötigt (z. B. vi). Die Interpretation wird anschliessend von der ausführenden Shell übernommen. Viele Shellskript-Interpreter (z. B. die verschiedenen Unix-Shells, Windows PowerShell oder "command.com") sind gleichzeitig Befehlszeileninterpreter.
Bei umfangreichen Prozessen können Shellskripte manchmal sehr viel Zeit benötigen. Da Shellskripte normalerweise Textzeilen auswerten, die sie als Rückgabewerte von anderen Befehlen erhalten, macht es ab einem gewissen Punkt also Sinn, statt eines Shellskripts eine echte Programmiersprache einzusetzen.
Aufruf eines Shellskripts
Standardmässig werden Shellskripte durch "/bin/sh" (bzw. die darauf gelinkte Shell) ausgeführt. Um die Ausführung des Shellskripts durch eine bestimmte Shell zu erzwingen, wird die "magische erste Zeile" (Shebang) innerhalb des Shellskripts verwendet, z. B.
#!/bin/bash
Manueller Aufruf im aktuellen Verzeichnis
Aktuelles Verzeichnis | in "PATH" enthalten | nicht in "PATH" enthalten | ||
---|---|---|---|---|
Ausführrecht | ja | nein | ja | nein |
Skriptaufruf | # script.sh | # . script.sh | # ./script.sh | # . ./script.sh |
Aufruf des Shellskripts "script.sh" ohne Ausführungsrechte, mit "/bin/sh" (wobei "/bin" in der Variable "PATH" steht).
# sh script.sh
Shellskript-Programmierung
Ein- und Ausgabeverarbeitung | (Dateideskriptoren, Befehlsgruppierung, Befehlstrenner, Befehlsverknüpfung, Befehlsweiterleitung, Befehlsumleitung) |
Befehlsersetzung | |
Kontrollfluss | break, continue, exit, false, read, set, sleep, test, true |
Variable | Stellvertreter für einen bestimmten Wert. |
Verzweigung | case, if |
Schleife | for, while, until |
Regulärer Ausdruck | Eine Zeichenkette, die der Beschreibung von Mengen mit Hilfe bestimmter syntaktischer Regeln dient. |
Zum Erstellen einer grafischen Oberfläche für ein Shellskript eignen sich die folgenden Programme.
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | eng | Shell scriptwbm | Enzyklopädischer Artikel |