Mec*_*MK1 4 bash pipe
我的问题是,我想要一个从管道读取内容的脚本,检查它是否为空,如果不是则输出它,如下所示:
#!/bin/bash var=$(cat -) if [ -n "$var" ] then echo "$var" else echo "Pipe was empty" fi
问题是,如果管道为空,则 cat 从 stdin 读取。有什么办法可以防止猫这样做吗?或者 cat 是在这里使用的错误工具?
Ign*_*ams 5
用read -t 0 -N 0检测数据是否可用标准输入。使用test -t 0或tty尝试检测管道是否连接到标准输入。
read -t 0 -N 0
test -t 0
tty
归档时间:
15 年,1 月 前
查看次数:
7891 次
最近记录:
11 年,1 月 前