Suchen und Finden
Service
Infos und Kontakt
12 Design von Shell Scripts (S. 157-158)
12.1 Brauchen Batches ein Design?
Diese Frage lässt sich klar beantworten: Ja, auch Shell Scripts benötigen ein Design. Sicherlich wird niemand für einen Dreizeiler aufwändige Planung betreiben, aber sobald ein Shell Script wiederholt und produktiv eingesetzt wird, geht es nicht ohne etwas Überlegung.
Gerade die strikte und nicht immer konsistente Syntax vieler Kommandos macht es nötig, bei komplexeren Abläufen etwas Zeit mit der Planung zu verbringen. Da Sie (im Gegensatz zu Programmiersprachen mit Freiform-Syntax wie SQL, Java, C# u.a.) Struktur nicht als Mittel der Gestaltung einsetzen können, sind Kommentare und ein sauberer Aufbau des Shell Scripts sehr wichtig. Benutzen Sie nach Möglichkeit Leerzeilen zur logischen Unterteilung des Scripts, und geben Sie bei produktiv genutzten Scripts in einem Kommentar zu Beginn eine Kontaktadresse per Mail oder Telefon an, damit im Zweifelsfall eine Auskunft eingeholt werden kann.
Wie Sie im Verlauf des Buches gesehen haben, besteht für eine Aufgabe mit der Shell oft mehr als eine Lösungsmöglichkeit. Entscheiden Sie sich im Zweifelsfall für die lesbarere Alternative. Gerade bei Shell Scripts macht ‚Tuning’ im Sinne der Laufzeitverbesserung oft wenig Sinn. Erstens haben Sie auf die Laufzeit der externen Kommandos meist keine Einflussmöglichkeiten, und zweitens besitzt bei administrativen Scripts die Laufzeit in vielen Fällen nicht die oberste Priorität.
Was nicht bedeuten soll, dass es Ihnen egal sein kann, wie lange ein Script läuft. In der Praxis aber ziehe ich einen lesbaren (und wartbaren) Batch mit einer Laufzeit von zwölf Sekunden einem mit nur neun Sekunden Laufzeit vor, den nach dem Schreiben niemand mehr versteht.
Shell Scripts leben länger als geplant und werden wesentlich öfter gelesen als geschrieben, sei es zu Wartungszwecken oder weil Teile wiederverwendet werden sollen. Wenn Sie beim Schreiben eine Minute gewinnen und Sie und Ihr Team später beim Lesen einhundert Mal fünfzehn Sekunden länger brauchen, haben Sie effektiv 24 Minuten verloren.
12.2 Parameter
12.2.1 Online-Hilfe
Falls Sie selbst Shell Scripts erstellen, sollten Sie daran denken, dass produktiv genutzte Batches eine Online-Hilfe bieten sollten. Dies erspart Ihnen und Ihren Kollegen beim späteren Einsatz das mühevolle Studieren des Quelltextes. Daher empfehle ich Ihnen in Anlehnung an die Windows-Konventionen die Integration eines Parameters /?, der einen Hilfetext mit einer kurzen Beschreibung des Scripts und der Aufrufsyntax ausgibt und anschließend das Shell Script ohne weitere Aktion beendet.
Eine längere Information oder Dokumentation und Beispiele können Sie direkt aus dem Shell Script erzeugen lassen, wenn Sie dazu den Ansatz eines ‚here documents’ für den Batch nutzen, den ich im Abschnitt 11.7.3 vorgestellt habe.
12.2.2 Sicherheitsabfragen
Dieses Thema ist ein zweischneidiges Schwert. Viele erfahrene Admins ärgern sich oft über die ihrer Meinung nach unnötigen Sicherheitsabfragen des Systems, da sie im täglichen Betrieb aufhalten. Dennoch sollten Sie bei der Planung Ihrer eigenen Batches daran denken, potenziell gefährliche Aktionen erst nach einer Rückfrage auszuführen. Bewährt hat sich die Integration einer besonderen Option (ähnlich /Q bei vielen Shell-Befehlen), die eine Nachfrage unterdrückt und das Shell Script im „Ich weiß schon, was ich tue"-Modus ausführt.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion


















