Vérifiez si stderr est un tuyau dans bash
Question
J'ai un script bash qui invite l'utilisateur à saisir "read". Si stdout ou stderr est raccordé à autre chose qu’un terminal, je voudrais supprimer cette étape. Est-ce possible?
La solution
Vous pouvez vérifier si un archiveur de fichiers est un terminal (attaché à un terminal) avec la commande test -t < archiveur n ° de classeur > ;. Si c'est le cas, vous pouvez demander à l'utilisateur. Si ce n’est pas le cas, la sortie est probablement redistribuée ou reddit quelque part.
if test -t 1 ; then
echo stdout is a tty
fi
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow