Standarddatenströme ermitteln
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Manchmal kann es nützlich sein, die Standardeingabe des aktuellen Skripts herauszufinden. Dies geschieht mit [1]
readlink /proc/$$/fd/0
Mit
readlink /proc/$$/fd/1
erhält man die Standardausgabe, und mit
readlink /proc/$$/fd/2
die Standardfehlerausgabe.
Mit folgendem Bash-Skript kann man feststellen, ob die Standardausgabe ein Terminal ist. Dies ist beispielsweise dann hilfreich, wenn man per Skript farbigen Text auf einem Terminal ausgeben, aber bei Umleitung in eine Datei keine Farben verwenden will.
1 2 3 4 5 | if [ "$(stat -L /proc/$$/fd/1 -c %G)" = "tty" ]; then echo "Standardausgabe ist ein Terminal" else echo "Standardausgabe ist kein Terminal" fi |