Möglichkeiten ein Shellskript aufzurufen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 34: | Zeile 34: | ||
= Aufgaben = | = Aufgaben = | ||
| − | == Aufgabe | + | == Aufgabe – Skript erstellen == |
* Erstellen Sie ein einfaches Skript mit dem Namen '''skript''', das folgende Befehle enthält: | * Erstellen Sie ein einfaches Skript mit dem Namen '''skript''', das folgende Befehle enthält: | ||
** date | ** date | ||
Version vom 17. Oktober 2025, 13:51 Uhr
bash skript (r)
- Starten einer Subshell
- Lesen der Skriptdatei von der Subshell
- Kommandos werden nacheinander abgearbeitet
- Beenden der Subshell und Rückkehr zur aufrufenden Shell
(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes)
bash < skript (r)
- Starten einer Subshell
- Lesen der Skriptdatei von der Subshell
- Kommandos werden nacheinander abgearbeitet
- Beenden der Subshell und Rückkehr zur aufrufenden Shell
(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes nicht)
./skript (rx)
- Starten einer Subshell
- Lesen der Skriptdatei von der Subshell
- Kommandos werden nacheinander abgearbeitet
- Beenden der Subshell und Rückkehr zur aufrufenden Shell
(Die Shell, die das Skript abarbeitet, kennt den Namen des Shellskriptes; es muss zusätzlich das Ausführungsrecht gesetzt sein.)
exec ./skript (rx)
- Die Subshell ersetzt die aktuelle Shell (überlädt die aktuelle Shell)
- Lesen der Skriptdatei von der Subshell
- Kommandos werden nacheinander abgearbeitet
- Beenden der Subshell; danach ist der Prozess der aufrufenden Shell beendet.
source skript oder . skript (r)
- Lesen der Skriptdatei von der aktuellen Shell
- Der interaktive Modus der aktuellen Shell wird „unterbrochen“
- Kommandos werden nacheinander abgearbeitet
(Es wird kein neuer Prozess gestartet; Variablen haben in dieser Shell Gültigkeit)
Aufgaben
Aufgabe – Skript erstellen
- Erstellen Sie ein einfaches Skript mit dem Namen skript, das folgende Befehle enthält:
- date
- hostname
- echo $0
- echo $$
Aufgabe 2 – Verschiedene Aufrufarten testen
- Führen Sie das Skript nacheinander auf die folgenden Arten aus:
- bash skript
- bash < skript
- ./skript
- exec ./skript
- source skript bzw. . skript
- Beobachten und notieren Sie, welche Unterschiede Sie feststellen.
Aufgabe 3 – Auswertung
- Beantworten Sie die folgenden Fragen:
- Welche Varianten starten eine neue Subshell?
- Bei welchen Varianten bleibt die aktuelle Shell erhalten?
- Bei welchen Aufrufen kennt die Shell den Namen des Skripts ($0)?
- Bei welchen bleibt die Prozess-ID ($$) gleich?