如何检查管道是否为空,如果不是,则对数据运行命令?
我已经在bash脚本中通过管道传递了一条线,并希望在将其提供给程序之前检查管道是否具有数据。 我发现有关搜索,test -t 0但在这里不起作用。始终返回false。那么如何确保管道中有数据呢? 例: echo "string" | [ -t 0 ] && echo "empty" || echo "fill" 输出: fill echo "string" | tail -n+2 | [ -t 0 ] && echo "empty" || echo "fill" 输出: fill 有别于标准/规范方式来测试上述管道是否产生了输出?输入需要保留,以将其传递给程序。这概括了如何将输出从一个进程传递到另一个进程,但仅在第一个进程具有输出时才执行?重点是发送电子邮件。