Verifique se stderr é um tubo em bash
Pergunta
Eu tenho um script que pede ao utilizador para a entrada com 'ler'. Se stdout ou stderr é canalizada para algo diferente de um terminal, gostaria de suprimir esta etapa. Isso é possível?
Solução
Você pode verificar se um FileDescriptor é um tty (ligada a um terminal) com o teste de comando -t
if test -t 1 ; then
echo stdout is a tty
fi
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow