NULLGLOB setzen

In Shellscipten (bash) kommt es immer wieder vor, dass z.B. eine FOR-Schleife über mehrere Dateien kreist:

for i in /tmp/Datei_*.txt
do
   echo "Datei: ${i}"
done

Da es dabei natürlich auch vorkommen kann, dass gerade keine Dateien vorhanden sind, würde in einem solchen Fall die Ausgabe so aussehen:

Datei: /tmp/Datei_*.txt

Das führt dann häufig zu Problemen in der Verarbeitung. Abhilfe schafft folgende Anweisung:

shopt -s nullglob

Dadurch wird die Wildcard (in diesem Fall „*“) anders interpretiert: Der Schleifenkörper wird gar nicht erst ausgeführt.

Um die Option wieder zurück zu nehmen, muss einfach die Option disabled werden:

shopt -u nullglob

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.