J'ai un script bash qui invite l'utilisateur à saisir 'read'. Si stdout ou stderr est redirigé vers autre chose qu'un terminal, je voudrais supprimer cette étape. Est-ce possible?Vérifiez si stderr est un tube dans bash
8
A
Répondre
16
Vous pouvez vérifier si un descripteur de fichier est un tty (attaché à un terminal) avec la commande test -t < numéro de fichier. >. Si c'est le cas, vous pouvez inviter l'utilisateur. Si ce n'est pas le cas, la sortie est probablement redirigée ou redirigée quelque part.
if test -t 1 ; then
echo stdout is a tty
fi
Merci! Exactement ce que je cherchais. – alberge