我对脚本编写非常陌生,我无法弄清楚这一点。我想知道是否有东西可读,如果没有的话
答案1
具体来说bash
,read -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
。