Linux 在Unix Bash脚本中的if/fi语句中定义变量
大家早上好 目前,我正在尝试在bash脚本中的if/fi语句中定义一个变量,该语句检查当前系统时间,并根据当前系统时间定义一个变量:Linux 在Unix Bash脚本中的if/fi语句中定义变量,linux,bash,unix,if-statement,centos,Linux,Bash,Unix,If Statement,Centos,大家早上好 目前,我正在尝试在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 ]; the
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值就不会保持不变,也永远不会被定义
有人知道如何解决这个问题吗?Linux脚本的语法不灵活 首先你必须使用HM而不是HM,小HM会给你字符串中的日期 这是经过测试的 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 echo $RUNHR 时间=`date+%H%M%s` 如果[${TIME}-ge 050000];然后 RUNHR=00 fi 如果[${TIME}-ge 110000];然后 RUNHR=06 fi 如果[${TIME}-ge 170000];然后 RUNHR=12 fi 如果[${TIME}-ge 225900];然后 RUNHR=18 fi echo$RUNHR 谢谢
苏亚什·贾因
此处的问题数量:(1)第1行
=
后的空格。(2) 缺少代码>在所有行上设置RUNHR
值后。Hi devnull。谢谢回复!当我试图将编码设置到线程“code”布局中时,第1行中=之后的空格是一个输入错误。我还加了,;在每个RUNHR值之后,现在我得到一个“预期的整数表达式”错误。date
格式不正确。改为说时间=$(日期+%H%M%S)
。谢谢!这完全解决了问题,我的bash脚本现在运行顺利!非常感谢!