Shellskript: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:


=== Manueller Aufruf im aktuellen Verzeichnis ===
=== Manueller Aufruf im aktuellen Verzeichnis ===
Aufruf des Shellskripts "script.sh" ohne Ausführungsrechte ("Punktskript") im aktuellen Verzeichnis (das nicht in der Variable "PATH" steht).
# <b>. ./script.sh</b>
Aufruf des Shellskripts "script.sh" ohne Ausführungsrechte, mit "/bin/sh" (wobei "/bin" in der Variable "PATH" steht).
# <b>sh script.sh</b>
Aufruf des Shellskripts "script.sh" mit vorhandenen Ausführungsrechten im aktuellen Verzeichnis (das nicht in der Variable "PATH" steht).
# <b>./script.sh</b>
Aufruf des Shellskripts "script.sh" mit vorhandenen Ausführungsrechten (wobei das aktuelle Verzeichnis in der Variable "PATH" steht).
# <b>script.sh</b>


{| class=wiki width=100%
{| class=wiki width=100%
! Aktuelles Verzeichnis !! colspan=2 | in "PATH" enthalten !! colspan=2 | <b>nicht</b> in "PATH" enthalten
! Aktuelles Verzeichnis !! colspan=2 | in "PATH" enthalten !! colspan=2 | <b>nicht</b> in "PATH" enthalten
|-
|-
! Ausführungsrechte !! ja !! nein !! ja !! nein
! [[Ausführrecht]] !! ja !! nein !! ja !! nein
|-
|-
| <b>Skriptaufruf</b>
| <b>Skriptaufruf</b>
| <tt># <b>script.sh</b></tt>
| bgcolor=lightyellow | <tt># <b>script.sh</b></tt>
| <tt># <b>. script.sh</b></tt>
| bgcolor=lightyellow | <tt># <b>. script.sh</b></tt>
| <tt># <b>./script.sh</b></tt>
| bgcolor=lightyellow | <tt># <b>./script.sh</b></tt>
| <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>


== Shellskript-Programmierung ==
== Shellskript-Programmierung ==

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