打电话时如何判断是否有内容要读?

打电话时如何判断是否有内容要读?

我对脚本编写非常陌生,我无法弄清楚这一点。我想知道是否有东西可读,如果没有的话

答案1

具体来说bashread -t0如果有东西要读取或在标准输入上或已到达输入末尾,则返回 true,否则返回 false。

if read -t0; then
  echo "there's something to be read on stdin, or end-of-file is reached"
else
  echo "there's nothing that may be read from stdin at the moment"
fi

请注意,即使要读取的内容不是整行,甚至不是完整字符,它也会返回 true,因此后续操作read可能仍会挂起,等待未转义的行分隔符。

如果 stdin 处于非阻塞模式或者 stdin 不可读,read -t0则始终返回true

相关内容