Open Source im professionellen Einsatz

Shellskripte aus der Stümper-Liga – Folge 21: Richtige und falsche Optionen

Bash Bashing

Viele Kommandozeilentools sind überreich mit Optionen gesegnet – die meisten fristen ein Schattendasein. Um effiziente und robuste Skripte zu verfassen, lohnt es, einige ins Licht zu zerren.

Das erste Beispiel mit Verbesserungspotenzial erfordert keine weite Reise: Im Perl-Snapshot "Schicker Umzug" [1] verwendet Michael Schilli folgenden Ausdruck, der so oder ähnlich in vielen Skripten vorkommt:

find . -type f -exec grep Suchstring {}/dev/null \;

Der Nachteil des Konstrukts: Für jede gefundene Datei erzeugt das Betriebssystem per Fork einen neuen Prozess. Jeder eingeloggte User, der auf diese Weise ein ganzes Dateisystem durchsucht, flutet den Host mit sehr vielen, nur kurz laufenden Prozessen.

Dabei zeigt ein Blick in die Manpage von Grep, dass der User für die Verzeichnisrekursion auch ohne »find« auskommt: Mit einer der Optionen »-r« , »-R« , »--recursive« oder »--directories=recurse« durchsucht Grep die als Argument übergebenen Verzeichnisse rekursiv. In diesem Fall entsteht für alle Dateien nur ein Prozess:

[...]

Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel, die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook