【发布时间】:2014-02-02 03:30:16
【问题描述】:
大家早上好,
目前,我正在尝试在检查当前系统时间的 bash 脚本中的 if/fi 语句中定义一个变量,并作为当前系统时间的结果,定义一个变量:
TIME=`date +%h%m%s`
if [ ${TIME} -ge 050000 ]; then RUNHR=00 fi
if [ ${TIME} -ge 110000 ]; then RUNHR=06 fi
if [ ${TIME} -ge 170000 ]; then RUNHR=12 fi
if [ ${TIME} -ge 225900 ]; then RUNHR=18 fi
然而,在我这样做之后,RUNHR 值不会保持不变并且从未定义过。
有人知道如何解决这个问题吗?
【问题讨论】:
-
这里的问题数量:(1) 第 1 行
=后面的空格。(2) 在所有行上设置RUNHR值后缺少;。 -
您好 devnull。感谢回复!当我尝试将编码设置为线程“代码”布局时,第 1 行 = 之后的空格是一个错字。另外,我添加了 ;在每个 RUNHR 值之后,现在我得到一个“预期的整数表达式”错误。
-
date格式不正确。请改用TIME=$(date +%H%M%S)。 -
感谢 devnull!这完全解决了问题,我的 bash 脚本现在运行顺利!非常感谢!
标签: linux bash unix if-statement centos