c't 4/2022
S. 162
Praxis
Bash-Programmierung
Bild: Thorsten Hübner

Nummer sicher!

Benutzereingaben in Bash-Skripten überprüfen

Im Alltag steht oft Geschwindigkeit über Gründlichkeit, weshalb Benutzereingaben in Shell-Skripten meist ungeprüft übernommen werden. Dabei bietet die Standard-Linux-Shell Bash viele Methoden, mit denen Sie leicht Bedienfehler vermeiden können. Ein Minesweeper-Spiel veranschaulicht, wie Sie mit Sicherheit programmieren.

Von Mirko Dölle

Admins sind Profis, die wissen schon, was sie tun. Berühmte letzte Worte, bevor das Dokumente-Verzeichnis versehentlich auf den Stand des vergangenen Monats zurückversetzt wurde, weil man beim Aufruf des selbst gestrickten Backup-Skripts versehentlich Quelle und Ziel vertauscht hat. Shell-Skripte sind im Alltag schnell geschrieben, für vermeintlichen Kleinkram wie die Überprüfung von Benutzereingaben nimmt man sich aber nur selten Zeit. Dabei bietet die Bash viele wenig aufwendige Methoden, sichere Shell-Skripte zu schreiben. Eine verbesserte Version unseres Shell-Minesweeper-Spiels, anhand dessen wir in [1] die Grundlagen der Bash-Programmierung veranschaulicht haben, liefert Ihnen viele Beispiele, die Sie für Ihren Alltag kopieren und anpassen können.

Das ursprüngliche Minesweeper-Skript aus [1] hat die grundlegenden Strukturen eines Shell-Skripts wie Bedingungen, Schleifen und Funktionen gezeigt. Als Datenhalde für den aktuellen Spielstand dient das eindimensionale Array mine[], in dem der Zustand jedes einzelnen Felds Zeile für Zeile gespeichert ist. So lässt sich die Beschränkung umschiffen, dass die Bash keine mehrdimensionalen Arrays beherrscht. Das erleichtert die Initialisierung der Spielfelder mit Fragezeichen, die noch nicht aufgedeckte Felder symbolisieren:

Kommentare lesen (1 Beitrag)