Aufruf eines Skripts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | ==Aufbau eines Skripts== | + | == Aufbau eines Skripts == |
| − | *Ein Shell-Skript ist eine einfache Textdatei, die eine Abfolge von Kommandos enthält, die von der Shell interpretiert werden. | + | * Ein Shell-Skript ist eine einfache Textdatei, die eine Abfolge von Kommandos enthält, die von der Shell interpretiert werden. |
| − | *Die Shell liest diese Datei zeilenweise und führt jeden Befehl nacheinander aus. | + | * Die Shell liest diese Datei zeilenweise und führt jeden Befehl nacheinander aus. |
| − | *Ein Skript kann direkt im Terminal oder über | + | * Ein Skript kann direkt im Terminal oder über Systemmechanismen (z. B. cron) gestartet werden. |
| − | * | + | * Im Gegensatz zu Windows spielt die Dateiendung unter Unix/Linux keine Rolle für die Ausführung. |
| − | *Sie | + | * Entscheidend ist nicht der Dateiname, sondern der '''Anfang''' der Datei – die sogenannte '''Shebang-Zeile''' (''#!''). |
| − | #!/bin/bash | + | * Sie legt fest, welcher Interpreter das Skript ausführt. |
| + | |||
| + | ;Beispiel ohne Shebang | ||
| + | * echo "echo Hallo Welt" > skript | ||
| + | * file skript | ||
| + | |||
| + | skript: ASCII text | ||
| + | |||
| + | * Das Kommando '''file''' zeigt, dass es sich nur um eine einfache Textdatei handelt. | ||
| + | |||
| + | ;Beispiel mit Shebang | ||
| + | * echo -e '#!/bin/bash\necho "Hallo Welt"' > skript | ||
| + | * file skript | ||
| + | |||
| + | skript: Bourne-Again shell script text executable | ||
| + | |||
| + | * Jetzt erkennt man am Ergebnis, dass das System den Interpreter anhand der Shebang-Zeile identifiziert hat. | ||
| + | * Damit das Skript direkt gestartet werden kann, müssen die Ausführungsrechte gesetzt werden: | ||
| − | * | + | * chmod +x skript |
| − | * | + | * ./skript |
| − | + | Hallo Welt | |
| − | |||
| − | |||
| − | |||
| − | + | == Kommentare == | |
| − | |||
| − | + | * Kommentare beginnen mit dem Zeichen '''#''' und werden von der Shell ignoriert. | |
| − | *Kommentare beginnen mit dem Zeichen '''#''' und werden von der Shell ignoriert. | + | * Sie dienen der Dokumentation und machen Skripte leichter verständlich. |
| − | *Sie dienen der Dokumentation und | + | * Die Shebang-Zeile ist die einzige Ausnahme – sie beginnt zwar mit #, wird aber vom Kernel ausgewertet und nicht als Kommentar behandelt. |
| − | *Die Shebang-Zeile ist die einzige Ausnahme – sie beginnt zwar mit #, wird aber vom Kernel ausgewertet und nicht als Kommentar behandelt. | ||
| − | ; | + | ;Beispiel |
| − | |||
#!/bin/bash | #!/bin/bash | ||
| − | echo " | + | # Startmeldung |
| − | + | echo "Start" | |
| − | *Kommentare können auch am Ende einer Zeile stehen: | + | * Kommentare können auch am Ende einer Zeile stehen: |
| − | echo "Start" # | + | echo "Start" # Kommentar hinter einem Befehl |
| − | *Leere Zeilen und Kommentarzeilen haben keine Auswirkung auf die Ausführung. | + | * Leere Zeilen und Kommentarzeilen haben keine Auswirkung auf die Ausführung. |
| − | ==Kopfzeile und Metadaten== | + | == Kopfzeile und Metadaten == |
| − | *In Schulungs- oder Administrationsumgebungen ist es | + | |
| + | * In Schulungs- oder Administrationsumgebungen ist es üblich, jedem Skript eine kurze Kopfzeile mit Zweck, Autor, Datum und Version voranzustellen. | ||
;Beispielkopf für Schulungsskripte | ;Beispielkopf für Schulungsskripte | ||
| Zeile 46: | Zeile 58: | ||
# Version: 1.0 | # Version: 1.0 | ||
| − | ==Empfohlene Konventionen== | + | == Empfohlene Konventionen == |
| − | *Verwende | + | |
| − | * | + | * Verwende nach Möglichkeit die Endung '''.sh''', um Skripte besser erkennbar zu machen – erforderlich ist sie jedoch nicht. |
| − | * | + | * Strukturiere Befehle klar und übersichtlich. |
| − | *Teste Skripte vor der Ausführung mit '''bash -n''' (Syntaxprüfung) oder '''bash -x''' (Debugmodus). | + | * Setze Kommentare gezielt zur Beschreibung des Skriptzwecks ein. |
| − | *Halte den Code portabel – vermeide | + | * Teste Skripte vor der Ausführung mit '''bash -n''' (Syntaxprüfung) oder '''bash -x''' (Debugmodus). |
| + | * Halte den Code portabel – vermeide Shell-spezifische Erweiterungen, sofern nicht nötig. | ||
| + | |||
| + | == Aufgaben == | ||
| + | |||
| + | * Erstellen Sie mit '''echo "echo Hallo Welt" > skript''' eine einfache Datei und prüfen Sie ihren Typ mit '''file skript'''. | ||
| + | * Fügen Sie eine Shebang-Zeile ein und prüfen Sie erneut den Dateityp mit '''file skript'''. | ||
| + | * Machen Sie das Skript ausführbar und starten Sie es. | ||
| + | * Ergänzen Sie einen Kommentar, der den Zweck des Skripts beschreibt. | ||
Aktuelle Version vom 17. Oktober 2025, 13:48 Uhr
Aufbau eines Skripts
- Ein Shell-Skript ist eine einfache Textdatei, die eine Abfolge von Kommandos enthält, die von der Shell interpretiert werden.
- Die Shell liest diese Datei zeilenweise und führt jeden Befehl nacheinander aus.
- Ein Skript kann direkt im Terminal oder über Systemmechanismen (z. B. cron) gestartet werden.
- Im Gegensatz zu Windows spielt die Dateiendung unter Unix/Linux keine Rolle für die Ausführung.
- Entscheidend ist nicht der Dateiname, sondern der Anfang der Datei – die sogenannte Shebang-Zeile (#!).
- Sie legt fest, welcher Interpreter das Skript ausführt.
- Beispiel ohne Shebang
- echo "echo Hallo Welt" > skript
- file skript
skript: ASCII text
- Das Kommando file zeigt, dass es sich nur um eine einfache Textdatei handelt.
- Beispiel mit Shebang
- echo -e '#!/bin/bash\necho "Hallo Welt"' > skript
- file skript
skript: Bourne-Again shell script text executable
- Jetzt erkennt man am Ergebnis, dass das System den Interpreter anhand der Shebang-Zeile identifiziert hat.
- Damit das Skript direkt gestartet werden kann, müssen die Ausführungsrechte gesetzt werden:
- chmod +x skript
- ./skript
Hallo Welt
Kommentare
- Kommentare beginnen mit dem Zeichen # und werden von der Shell ignoriert.
- Sie dienen der Dokumentation und machen Skripte leichter verständlich.
- Die Shebang-Zeile ist die einzige Ausnahme – sie beginnt zwar mit #, wird aber vom Kernel ausgewertet und nicht als Kommentar behandelt.
- Beispiel
#!/bin/bash # Startmeldung echo "Start"
- Kommentare können auch am Ende einer Zeile stehen:
echo "Start" # Kommentar hinter einem Befehl
- Leere Zeilen und Kommentarzeilen haben keine Auswirkung auf die Ausführung.
Kopfzeile und Metadaten
- In Schulungs- oder Administrationsumgebungen ist es üblich, jedem Skript eine kurze Kopfzeile mit Zweck, Autor, Datum und Version voranzustellen.
- Beispielkopf für Schulungsskripte
#!/bin/bash # Zweck: Beispiel für Skriptaufbau # Autor: Thomas # Datum: 17.10.2025 # Version: 1.0
Empfohlene Konventionen
- Verwende nach Möglichkeit die Endung .sh, um Skripte besser erkennbar zu machen – erforderlich ist sie jedoch nicht.
- Strukturiere Befehle klar und übersichtlich.
- Setze Kommentare gezielt zur Beschreibung des Skriptzwecks ein.
- Teste Skripte vor der Ausführung mit bash -n (Syntaxprüfung) oder bash -x (Debugmodus).
- Halte den Code portabel – vermeide Shell-spezifische Erweiterungen, sofern nicht nötig.
Aufgaben
- Erstellen Sie mit echo "echo Hallo Welt" > skript eine einfache Datei und prüfen Sie ihren Typ mit file skript.
- Fügen Sie eine Shebang-Zeile ein und prüfen Sie erneut den Dateityp mit file skript.
- Machen Sie das Skript ausführbar und starten Sie es.
- Ergänzen Sie einen Kommentar, der den Zweck des Skripts beschreibt.