Prüfe, ob stderr eine Pipe in bash ist

8

Ich habe ein bash-Skript, das den Benutzer zur Eingabe mit 'read' auffordert. Wenn stdout oder stderr an etwas anderes als ein Terminal weitergeleitet wird, möchte ich diesen Schritt unterdrücken. Ist das möglich?

    
alberge 29.07.2009, 21:54
quelle

1 Antwort

16

Sie können mit dem Befehl test -t & lt; Dateideskriptor Nr. & ​​gt; prüfen, ob ein Dateideskriptor ein tty (an ein Terminal angeschlossen) ist. Wenn dies der Fall ist, können Sie den Benutzer auffordern. Wenn dies nicht der Fall ist, wird die Ausgabe wahrscheinlich irgendwo piped oder redigiert.

%Vor%     
nos 29.07.2009, 22:02
quelle

Tags und Links