# 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 | | 1 | [Dateien und Verzeichnisse anlegen](moegliche-LB2-AufgabenProjekte/A_verzeichnisse-und-dateien-anlegen)
| **B**) | 10 | 5 | 1 | [Emailadressen und Brief erstellen](moegliche-LB2-AufgabenProjekte/B_emailadressen-erzeugen)
| **C**) | 8 | | 1 | [QR-Rechnungen erzeugen](moegliche-LB2-AufgabenProjekte/C_qr-rechnungen-erzeugen)
| **D**) | 42 | | 6 | [eBill von Handwerkerrechnungen](moegliche-LB2-AufgabenProjekte/D_ebill_handwerkerrechnungen)
| **E**) | 6 | 4 | 1 | [Systemleistung abfragen](moegliche-LB2-AufgabenProjekte/E_systemleistung-abfragen)
| **F**) | 6 | 5+| 1 | [API abfragen](moegliche-LB2-AufgabenProjekte/F_api-abfragen)
| **XX** | ?? | | 1 | Weitere/eigene Projekte möglich.
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,
die Maus kann beiseite gelegt werden.
- Alle 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