# 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