Pregunta

Tengo un script bash que solicita al usuario que ingrese con 'leer'. Si stdout o stderr se canalizan a algo que no sea un terminal, me gustaría suprimir este paso. ¿Es eso posible?

¿Fue útil?

Solución

Puede verificar si un descriptor de archivo es un tty (conectado a una terminal) con el comando test -t < filedescriptor no. > ;. Si es así, puede solicitar al usuario. Si no es así, la salida probablemente se canalizará o prohibirá en alguna parte.

if test -t 1  ; then
  echo stdout is a tty
fi
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top