我需要检查Bash文件是否为空,
如果它是空的,请继续跟踪他,直到写入内容为止。
如果有人写入内容,则将其回显到屏幕并停止检查文件内容。
for [ -s diff.txt ]; do
echo "file is empty - keep checking it "
done
echo "file is not empty "
cat diff.txt
答案 0 :(得分:3)
为什么不使用while
?
while ! [ -s diff.txt ]; do
echo "file is empty - keep checking it "
sleep 1 # throttle the check
done
echo "file is not empty "
cat diff.txt
只要! [ -s diff.txt ]
为真,循环就会运行。如果您愿意,可以使用until
代替while
并删除否定(!
)。