Ausgabe-Umleitung in einem Script global definieren

Abstract

Oft möchte man in einem Shell-Script alle Ausgaben in eine Datei umleiten. Das geht normalerweise einfach so...

Oft möchte man in einem Shell-Script alle Ausgaben in eine Datei umleiten. Das geht normalerweise einfach so:

$ ./beispiel.sh > /dev/null

Dieser Befehl bewirkt, dass alle Ausgaben, die das Script beispiel.sh normalerweise auf die Standard-Ausgabe des Terminals schreiben würde, nun nach /dev/null geschrieben werden.

Möchte man aber erreichen, dass das Script dies immer von selbst tut, gibt es dafür eine elegante Möglichkeit.

Ein einfaches Beispiel:

#!/bin/bash
echo "Hallo Welt!"

Dieses Script gibt den Text Hallo Welt! auf der Konsole aus. Eine globale Ausgabeumleitung lässt sämtliche Ausgaben auf die Standard-Ausgabe nach /dev/null umleiten:

exec >/dev/null

Mit dem Beispiel von oben angewendet, sieht dies dann folgendermaßen aus:

#!/bin/bash
exec >/dev/null
echo "Hallo Welt!"
Marc Schiffbauer, 17. January 2013

   BASH