首页 > 解决方案 > Bash:如果“cat myfile”命令没有返回任何内容,我如何回显字符串?

问题描述

显示错误.sh:

echo 'Logfile 1'
cat /var/log/logfile1
echo 'Logfile 2'
cat /var/log/logfile2

我想echo 'No errors found!'如果文件是空的。

我已经尝试(猜测)cat /var/log/logfile1 || echo 'No errors found!'(cat /var/log/logfile1) || echo 'No errors found!'无济于事。

所以我在这里。谢谢!

标签: bashawk

解决方案


您可以使用 来检查文件是否为空wc -l,因此您会得到:

file1_empty=$(wc -l /var/log/logfile1)

if [ file1_empty -eq 0 ]
then
echo "No errors found"
else
cat /var/log/logfile1
fi

祝你好运


推荐阅读