Skip der ersten Zeile wenn leer

Mittwoch, den 21. Dezember 2011

Heute hatte ich das Problem, eine leere Ausgabe des Programms “zip” zu unterdrücken, damit Cron mir keine Mail schickt, wenn es nichts zu zippen gibt. Findet zip nichts, was es einpacken kann, bekommt man die folgende Meldung: /usr/bin/zip -r /tmp/test.zip . -t `date -d “-1 days” +%Y-%m-%d` -i “*/bearbeitet/*” zip error: Nothing to do! (/tmp/test.zip) [...]

set -x Ausgaben nur in eine Datei schreiben

Freitag, den 16. April 2010

Der Schalter set -x (auch xtrace genannt) ist ein hilfreiches Werkzeug zum Debuggen von Shellskripten. Aber manchmal sieht man auf Grund der Vielzahl an Meldungen den Wald von lauter Bäumen nicht. Und der normale Anwender sollte davon besser auch nichts zu sehen bekommen. Daher sollte man nach getaner Kammerjägerei den Schalter wieder aus dem Skript [...]

Eine Reihe von IP-Adressen per Ping prüfen

Mittwoch, den 6. Januar 2010

Mitunter hat man das Problem, eine nicht kleine Anzahl an Rechnern auf Erreichbarkeit zu überprüfen. Die Adressen und Hostnamen liegen als Excel-Liste vor, aber diese alle von Hand zu pingen … dazu bin ich echt zu faul. Also habe ich mir ein kleines Script gebaut, welches diese Aufgabe elegant erledigt: #!/bin/sh # # Sendet einen [...]

Alle Fehlermeldungen in einem Script umleiten

Mittwoch, den 14. Januar 2009

Man kann in einem Shell-Script ja Ausgaben, die an den Standard-Fehler-Kanal STDERR gehen, mit 2>>dateiname.log in eine Datei umleiten. Dies muss aber für jeden Befehl einzeln gemacht werden. Es gibt aber bei der Bash eine Methode, die Umleitung für das gesamte Script zu machen. Dazu nutzt man eine Spezialform des Befehls exec: Werden als Parameter [...]

Dateinamen mit Leerzeichen auf der Kommandozeile verarbeiten

Mittwoch, den 13. September 2006

Dateinamen, die Leerzeichen enthalten, machen auf der Kommandozeile oder in Scripten häufig Ärger, da das Leerzeichen meist als Trennzeichen zwischen den Parametern dient. Im vorliegenden Artikel werden ein paar Tricks gezeigt, wie man die Probleme umschiffen kann.