Modul 122
Abläufe mit einer Skriptsprache automatisieren
Linux Bash
Kurzfassung
Gross-/Kleinschreibung
Linux unterscheidet zwischen Gross- und Kleinschreibung.
Autovervollständigung
Mit der <TAB> Taste kann man Befehle vervollständigen.
Berechtigungen
-: = Datei (regular file)
d: = Verzeichnis (directory)
l: = Link auf ein anderes Objekt (symbolic link)
find Befehl
Zeige alle Elemente die sh enthalten, jedoch beschränkt auf 2 Verzeichnistiefen.
find -maxdepth 2 -name "*sh*"
Alle Dateien anzeigen, welche im Verzeichnis M122 heute geändert wurden.
find M122 -mtime 0 -type f
Shebang
Shebang ist die Bezeichung für die 1. Zeile in einem Skript. Diese Zeile ist der absolute Pfad zu dem Interpreter.
#!/bin/bash
Powershell
Kurzfassung
Foreach loop
Durch alle Dateien im selben Verzeichnis loopen.
$files = Get-ChildItem || $files = Get-ChildItem -Path ./
foreach($file in $files) {
$files
}
Alle Dateien im Verzeichnis mit der Endung *.tmp löschen
$files = Get-ChildItem
foreach($file in $files) {
Remove-Item * -Include *.tmp
}
Dateien anzeigen lassen die Grösser sind als 5000000 bytes
$files = Get-ChildItem
foreach($file in $files) {
$file.Length
if($file.length -gt 5000000) {
$file
}
}
ForEach-Object loop
Für jedes Objekt (hier Zahl 3, 4, 5, 6, 7) diese mit 2 Multiplizieren
3, 4, 5, 6, 7 | ForEach-Object -Process {
$_ * 2
}
#output
6
8
10
12
14
Einfache Menustruktur
function Show-Menu {
param (
[string]$Title = 'Menu'
)
Clear-Host
Write-Host "================ $Title ================"
Write-Host "1: Press '1' for this option."
Write-Host "2: Press '2' for this option."
Write-Host "3: Press '3' for this option."
Write-Host "Q: Press 'Q' to quit."
}
do
{
Show-Menu -Title "specific Menu Title"
$userSelection = Read-Host "Please make a selection"
switch ($userSelection) {
'1' {
'You chose option #1'
}
'2' {
'You chose option #2'
}
'3' {
'You chose option #3'
}
}
pause
}
until ($userSelection -eq 'q')
Dateiendungen der Dateien im Ordner anzeigen
Get-ChildItem -Path ./ | Select-Object -Property Extension -First 1
Alle Dienste anzeigen welche mit s beginnen und gestoppt sind
Get-Service -Name s* | Where Status -EQ Stopped
Zusammenfassung Theorie Prüfung I
Kurzfassung
Handlungsziel 1
Was ist ein Skript?
Ein Skript ist ein Programm, dass als Textdatei gespeichert wurde. Bei jeder Durchführung wird das Skript zeilenweise von einem Interpreter übersetzt und ausgeführt.
Die Übersetzung in einen Maschinenbefehl übernimmt ein Interpreter, der jede Zeile im Skript einzeln analysiert, übersetzt und ausführt. Der Interpreter ist bei jeder Ausführung des Skripts notwendig. Es entsteht keine ausführbare Datei.
“Das enge Hin und Her mit der Maschine wird als interaktiv bezeichnet.”
Eine Skriptsprache wird nicht kompiliert, sondern interpretiert.
Skriptsprachen:
- PERL
- Shell
- Python
- PHP
- JavaScript
- DOS-Batch
- VBS
- Powershell
Handlungsziel 1
Potenzial
Automatisierungsaufgaben
- Datensicherung
- Verwaltung von Benutzern und Benutzergruppen
- Installation und Aktualisierungen von Programmen
- Überwachung von Prozessen und Ressourcen
Kriterien für Automatisierungspotential
Skripte haben gegenüber der manuellen Ausführung als Vorteil eine erhöhte Zuverlässigkeit (Vermeidung von Fehlern, Qualitätsverbesserung) sowie eine schnellere Ausführung von aufwändigen Abläufen.
Beispiele Für Kriterien:
- Vereinfachung von Abläufen
- Abläufe, die keine Fehler zulassen
Handlungsziel 1
Vorgehen
- Wie sieht die momentane IST-Situation aus?
- Was soll automatisiert werden (welcher Prozess)?
- Wie soll das Skript gestartet werden (manuell oder automatisch zu bestimmten Zeitpunkten)?
- Welche Daten werden bearbeitet?
- Welche Personen sind involviert? Wer erhält das Resultat? Wer darf das Skript manuell starten?
Handlungsziel 1
Grafische Darstellung von Abläufen
Programmablaufpläne PAP werden zur Visualisierung von kleineren Problemstellungen oder Algorithmen verwendet.
Vorteile von Programmablaufplänen PAP
- Gute grafische Darstellung bei einfachen Problemstellungen.
- Verschiedene Ansichten: Darstellungen für den Benutzer, für den Systembetreuer oder für den Entwickler möglich.
- Alle wichtigen Kontrollstrukturen (Schleifen, Verzweigungen, Sequenzen) darstellbar.
Nachteile von Programmablaufplänen PAP
- Bei komplexen Aufgabenstellungen wird es schnell unübersichtlich.
- Rekursion lösst sich nicht übersichtlich darstellen.
Zusammenfassung der Symbole
Verarbeitung (Anweisungsteil)
Zuweisungen, Anweisungen
Verzweigung mit Bedingung
Eine Verarbeitungslinie führt hinein, zwei Verarbeitungslinien führen heraus. Je nach Warheitswert der Bedingung wird in eine true oder false Richtung verzweigt
Grenzstelle
Kennzeichnet den Anfang oder das Ende des PAP.
Verbindung
Zur Verdeutlichung der Ablaufrichtung werden die Elemente verbunden.
Dokumentation an anderere Stelle
Durch dieses Symbol wird auf einen anderen PAP hingewiesen, z.B. auf ein Unterprogramm.
Manuelle Verarbeitung
Eingaben des Programmbenutzers.
Schleifenbegrenzer
Zur Darstellung von Schleifen werden diese Symbole verwendet, um den Anfang sowie das Ende zu kennzeichnen.
Verbinder
Durch dieses Symbol wird auf einen anderen PAP
(z.B. Unterprogramm) verwiesen
(z.B. Unterprogramm) verwiesen
Handlungsziel 1
Struktogramm (Nassi Shneidermann Diagramm)
Vorteile von Struktogrammen
Nachteile von Struktogrammen
- Wird bei komplexen Prozessen schnell unübersichtlich
- Rekursionne sowie parallel ablaufende Prozesse können nicht dargestellt werden.
Sequenz
Verzweigung / Selektion:
Bedingte Auswahl
Verzweigung / Selektion:
Alternative Auswahl
Verzweigung / Selektion:
Fallunterscheidung
Schleife / Iteration:
kopfgesteuerte Schleife
Schleife / Iteration:
fussgesteuerte Schleife
Unterprogrammaufruf
Handlungsziel 1
Datenflussdiagramm (DFD)
Ein Datenflussdiagramm zeigt den Informationsfluss von Funktionen.
Datenspeicher
zum Beispiel eine Datenbank
Funktion (Prozess)
Beschreibung einer Funktion
Werden mit einem Nomen und einem Verb beschrieben.
Werden mit einem Nomen und einem Verb beschrieben.
Verbindung
Dies ist der Datenfluss, die Verbindung der Symbole.
Die Verbindungen werden mit einem Nomen bezeichnet z.B. Stammdaten
Die Verbindungen werden mit einem Nomen bezeichnet z.B. Stammdaten
Schnittstelle
Schnittstelle zur Umwelt z.B. Benutzer
Handlungsziel 1
Zustandsdiagramm
Ein Zustandsdiagramm beschreibt das Verhalten mit Zuständen.