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:

Alle heise-Magazine mit heise+ lesen

3,99 € / Woche

Ein Abo, alle Magazine: c't, iX, Mac & i, Make & c't Fotografie

  • Alle heise-Magazine im Browser und als PDF
  • Alle exklusiven heise+ Artikel frei zugänglich
  • heise online mit weniger Werbung lesen
  • Vorteilspreis für Magazin-Abonnenten
Jetzt unbegrenzt weiterlesen Vierwöchentliche Abrechnung.

Alle Ausgaben freischalten

2,95 € 0,25 € / Woche

Nach Testphase 2,95 € wtl.

  • Zugriff auf alle c't-Magazine
  • PDF-Ausgaben zum Herunterladen
  • Zugriff in der c't-App für unterwegs
Jetzt testen Nach Testphase jederzeit monatlich kündbar.

Ausgabe einmalig freischalten

5,90 € / Ausgabe

Diese Ausgabe lesen – ohne Abobindung

  • Sicher einkaufen im heise shop
  • Magazin direkt im Browser lesen
  • Dauerhaft als PDF behalten

Kommentare lesen (1 Beitrag)