Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Unix Bash脚本中的if/fi语句中定义变量_Linux_Bash_Unix_If Statement_Centos - Fatal编程技术网

Linux 在Unix 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

大家早上好

目前,我正在尝试在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值就不会保持不变,也永远不会被定义


有人知道如何解决这个问题吗?

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脚本现在运行顺利!非常感谢!