Zusammenfassung Modul 122 - Abläufe mit einer Skriptsprache automatisieren

Übersicht

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

  1. Wie sieht die momentane IST-Situation aus?
  2. Was soll automatisiert werden (welcher Prozess)?
  3. Wie soll das Skript gestartet werden (manuell oder automatisch zu bestimmten Zeitpunkten)?
  4. Welche Daten werden bearbeitet?
  5. 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
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.

Verbindung

Dies ist der Datenfluss, die Verbindung der Symbole.
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.

Scroll to Top