Frage

Ich habe einen Bash-Skript, das den Benutzer zur Eingabe auffordert, mit ‚lesen‘. Wenn stdout oder stderr auf etwas anderes als ein Terminal geleitet wird, würde Ich mag diesen Schritt zu unterdrücken. Ist das möglich?

War es hilfreich?

Lösung

Sie können prüfen, ob ein FileDescriptor ein tty ist (an ein Terminal angeschlossen ist) mit dem Befehl Test -t . Wenn ja, können Sie den Benutzer auffordern. Wenn dies nicht der Fall, wird die Ausgabe wahrscheinlich verrohrt oder irgendwo redicted.

if test -t 1  ; then
  echo stdout is a tty
fi
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top