# M122 - Abläufe mit einer Scriptsprache automatisieren [**Modulidentifikation (=Lernziele)**
https://www.modulbaukasten.ch/module/122/3/de-DE?title=Abl%C3%A4ufe-mit-einer-Scriptsprache-automatisieren](https://www.modulbaukasten.ch/module/122/3/de-DE?title=Abl%C3%A4ufe-mit-einer-Scriptsprache-automatisieren) ## Zusammensetzung der Modulnote (Leistungsbeurteilung): - 30% LB1 Bash-Kurs-Prüfung (selber wählbar am 3. oder 4. Modul-Tag ) - 70% LB2 Einzelaufgabe(n) mit vorgegebenen Definitionen.

[**Mögliche Aufgaben**](moegliche-LB2-AufgabenProjekte): | Projekt | Punkte | Zusatz-
Bonus| Alleine-
Bonus | Aufgabenstellung | |---- |---- |---- |---- |---- | | **A**.) | 6 | | | [Dateien und Verzeichnisse anlegen](moegliche-LB2-AufgabenProjekte/A_verzeichnisse-und-dateien-anlegen) | **B**.) | 7 | 3 | 1 | [Emailadressen und Brief erstellen](moegliche-LB2-AufgabenProjekte/B_emailadressen-erzeugen) | **C**.) | 6 | 4 | 1 | [Systemleistung abfragen](moegliche-LB2-AufgabenProjekte/C_systemleistung-abfragen) | **D**.) | 5 | 5 | 1 | [APIs-Abfragen mit Datendarstellung](moegliche-LB2-AufgabenProjekte/D_api-abfragen-mit-datendarstellung) | **E**.) | 4 | 4 | 1 | [API abfragen mit Applikation](moegliche-LB2-AufgabenProjekte/E_api-abfragen-mit-applikation) | **F**.) | 8 | | 1 | [QR-Rechnungen erzeugen lassen](moegliche-LB2-AufgabenProjekte/F_qr-rechnungen-erzeugen) | **G**.) | 32 | | 2 | [eBill von Handwerkerrechnungen](moegliche-LB2-AufgabenProjekte/G_ebill_handwerkerrechnungen) | **H**.) | 5-8 | + | 1 | [Automatisierte Installation](moegliche-LB2-AufgabenProjekte/H_automatisierte-Installation) | | **I**.) | 8 | | 1 | [Aktuelles Wertschriften-Depot](moegliche-LB2-AufgabenProjekte/I_aktuelles-wertschriften-depot) | **XX** | ? | | 1 | Weitere/eigene Projekte möglich. Z.B. ein Spiel/Game, Rätsel-Spiel, ...
oder API-Anbindung an Homegate (Wohnungssuche-Filter)
oder API-Anbindung an Verkehrsbetriebe, Tram-Haltestellen o.ä.
Punkte und Umfang sind mit der Lehrperson abzusprechen. **Zu beachten:** ``` - Viel ausprobieren! Ohne üben geht gar nichts. Wer viel übt, wird schnell besser! - Man muss alles mal selber gemacht haben! - Gemeinsames Arbeiten ist erwünscht. (Jedoch müssen lauffähige Skripts von allen einzeln gezeigt werden.) - Es sind nur Skript-Sprachen erlaubt. Also kein Java, C#, Kotlin usw. - Sie brauchen keine grafische Oberfläche und die Maus legen Sie beiseite. - Alle Variablen, Skripte und Projekte haben "gute" Namen! - Alle Skripte werden in GitHub, GitLab oder BitBucket eingecheckt. ```



## Lern-Unterlagen ### a.) Allgemeines - https://de.wikipedia.org/wiki/Bash_(Shell) - https://www.selflinux.org/selflinux/html/shellprogrammierung.html ### b.) Vorbereitung für die LB1 **Mit Erklärungen und Übungen** (empfohlen): - [**→ → https://gitlab.com/ch-tbz-it/Stud/m122**](https://gitlab.com/ch-tbz-it/Stud/m122)
und da beginnen Sie am Besten bitte mit einer **Installation von Linux**
für [**Windows**](https://gitlab.com/ch-tbz-it/Stud/m122/-/blob/main/01_Linux_Einf/README.md#linux-unter-windows) oder für [**Mac-OS**](https://gitlab.com/ch-tbz-it/Stud/m122/-/blob/main/01_Linux_Einf/README.md#unix-unter-macos) oder als eine [**Virtulle Machine**](https://gitlab.com/ch-tbz-it/Stud/m122/-/blob/main/01_Linux_Einf/README.md#eine-vm-installieren) - installieren von GIT: [→ Eigene GIT-Umgebung (aus Modul M231)](https://gitlab.com/ch-tbz-it/Stud/m231/-/blob/master/10_Git/03_Eigene%20GIT%20Umgebung.md) ### c.) Referenzen, Nachschlagewerke - https://openbook.rheinwerk-verlag.de/shell_programmierung (empfohlen)
- https://openbook.rheinwerk-verlag.de/linux - https://www.gnu.org/software/bash/manual/bash.html - https://devhints.io/bash - https://dev.to/awwsmm/101-bash-commands-and-tips-for-beginners-to-experts-30je

## Ablaufplan 2024-Q3 ### Klassen
AP23c (FrMo) (1. Lehrjahr) Für die maximale LB2-Note ("6.0"), die 70% der Modulnote ausmacht,
sind [Projektaufgabe(n)](moegliche-LB2-AufgabenProjekte) im Umfang von **38** Punkten nötig. |Tag |Datum|Thema, Auftrag, Übung | |----|-----|--------------------- | | 1 | Fr 23.02. | Einführung und Anleitung
**Beginn** mit dem Bash-Selbststudium und Installation einer Linux-Umgebung | | 2 | Fr 01.03. | **Input** darüber, was an der **Bash-Prüfung** dran kommt.
Weiterarbeit mit dem Bash-Selbststudium | | 3 | Fr 08.03. | Input über **Scheduler/Crontab**.
Weiterarbeit mit dem Bash-Selbststudium.
Wer will, kann um 10:45 h (15:30 h) **Bash-Prüfung (a)** machen | | 4 | Fr 15.03. | Input **Projektaufgabe(n)**.
Beginn der Projektaufgabe(n) oder Bash-Studium.
Um 10:45 h (15:30 h) **Bash-Prüfung (b)** für den Rest | | 5 | Fr 22.03. | Input über **FTP** und **eMailing**.
Weiterarbeit an der Projektaufgabe(n) | | | Karfreitag| | | 6 | Fr 05.04. | Input über **Textformatierung**.
Weiterarbeit an der Projektaufgabe(n) | | 7 | Fr 12.04. | Weiterarbeit an der Projektaufgabe(n) und
ab 09:00 **Projekt-Abgaben** | | 8 | Fr 19.04. | Weiterarbeit an der Projektaufgabe(n) und
ab 09:00 **Projekt-Abgaben** | | | Ferien | | | | Ferien | | | | Auffahrt | |

© Harald Müller, Feb 2024



zu beachten: Wenn Sie Ubuntu auf Linux installiert haben, kann es sein, dass `cron` nicht läuft. Meistens ist es bloss ausgeschaltet.
So können Sie prüfen: `sudo service cron status`
oder einschalten: `sudo service cron start`
oder ausschalten: `sudo service cron stop`