You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本判断Timestamp过期异常:始终输出‘Update token...’求排查

问题分析与解决

你的脚本始终输出Update token...的核心原因是代码中的小于号被错误写成了HTML实体<,Bash无法识别这个符号,导致算术比较表达式((exp < NOW))触发语法错误。在[[ ... ]]的逻辑或判断中,语法错误的命令退出状态为非零,而[[会将非空的退出状态值视为“真”,因此无论exp是否有效,整个条件都会成立。

修正后的脚本

将&lt;替换为实际的小于号<,同时可以简化双括号内的变量引用(双括号中无需加$):

exp=1662023095
NOW=$(date +%s)
if [[ -z $exp || ((exp < NOW)) ]]; then
  echo "Update token..."
else
  echo "Token still valid!"
fi

额外优化提示

  • 如果需要兼容更严格的数值判断,也可以在[[中使用-lt(小于)运算符替代双括号:
    if [[ -z $exp || $exp -lt $NOW ]]; then
      echo "Update token..."
    else
      echo "Token still valid!"
    fi
    
  • 若exp可能被赋值为0(对应1970年的时间戳,必然过期),当前条件已经覆盖这种情况,无需额外修改。

内容的提问来源于stack exchange,提问作者user672009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:09:30