gpt4 book ai didi

linux - 如果文件不存在则退出脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:51 26 4
gpt4 key购买 nike

我尝试计算两个日志之间的时间差,但是当日志文件中没有日志时,unix 会采用自己的生日 1970。我的脚本如下。如果没有登录日志文件,我想退出脚本。

#!/bin/bash
a=`tail -n 1 /var/log/nginx/error.log | awk -F" " '{print $1" "$2}' | cut -c12-20`
f=`date '+%Y-%m-%d %H:%M:%S' | cut -c12-19`
VAR1=$(date -u --date="$a sec UTC" +%s)
VAR2=$(date -u --date="$f sec UTC" +%s)
DIFF2=$(( $VAR2 - $VAR1 ))
if [ $DIFF2 -lt 59 ]; then
echo "ok"
else
echo "nok"
fi

最佳答案

我猜如果没有登录日志文件,您的意思是日志文件不存在或为空。你可以在 bash 中使用

logfile=/var/log/nginx/error.log
[[ -f $logfile && -s $logfile ]] || exit 1

-f 测试它是一个纯文件,-s 测试它不是空的。

关于linux - 如果文件不存在则退出脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46926486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com