我想检查单个if条件中是否存在文件以及第4行的行数。任何人都可以在这里帮忙。
if [[ -f report]] && [[`wc -l report` -eq 4 ]]; then
echo " Proceed further"
else
exit 1
fi
答案 0 :(得分:1)
这更简单:
{ [ `wc -l < report` -eq 4 ] || exit; } 2>/dev/null
echo " Proceed further"
注意:
如果 report 存在并且为 4 行,则wc -l report
返回:
4 report
... -eq
无法理解。而是wc -l < report
输出-eq
友好:
4
由于<
重定向,因此无需检查报告是否存在
无论如何都会这样做,并返回相同的错误代码。
更具体的退出代码。如果 report 不存在,则退出代码为 2 。如果 report 长为 5 行,则退出代码为 1 。