ubuntuusers.de

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

Diese Revision wurde am 17. Dezember 2017 11:34 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Programmierung