Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Performance 使用;日期+';%M';,数据类型是什么,我可以用它作为条件吗?_Performance_Shell_Sh - Fatal编程技术网

Performance 使用;日期+';%M';,数据类型是什么,我可以用它作为条件吗?

Performance 使用;日期+';%M';,数据类型是什么,我可以用它作为条件吗?,performance,shell,sh,Performance,Shell,Sh,我正在尝试运行一个脚本,在该脚本运行时,脚本会更新我目录中的某些内容。为此,我定义了一个名为“min_stamp”的函数,方法如下: min_stamp(){ date +%M" } 然后,我将使用此结构在while循环中连续调用函数: while: do min=min_stamp if [$min == 00] then "Update directory" fi done 逻辑是,在小时,当分钟为00时,脚本将执行指定的操作。因此,我的问

我正在尝试运行一个脚本,在该脚本运行时,脚本会更新我目录中的某些内容。为此,我定义了一个名为“min_stamp”的函数,方法如下:

min_stamp(){
    date +%M"
}
然后,我将使用此结构在while循环中连续调用函数:

while:
do
    min=min_stamp
    if [$min == 00] then
        "Update directory"
    fi
done

逻辑是,在小时,当分钟为00时,脚本将执行指定的操作。因此,我的问题是,从函数minu stamp返回的数据类型是什么,我是否正确地使用变量作为触发事件的条件。

您实际上没有调用该函数;您只是将字符串
min\u stamp
分配给变量
m
。您需要使用命令替换:

while :
do
  min=$(min_stamp)
  if [ "$min" = 00 ]; then
      ...
  fi
done

<>但是,不要重复运行<代码> Min Stase来查看您是否是本小时的顶峰,请考虑使用<代码> CRON<代码>来安排您的作业。

< p>您实际上没有调用该函数;您只是将字符串
min\u stamp
分配给变量
m
。您需要使用命令替换:

while :
do
  min=$(min_stamp)
  if [ "$min" = 00 ]; then
      ...
  fi
done

<>但是,不是重复运行<代码> MyStope以查看你是否是时辰的顶峰,而是考虑使用<代码> CRON<代码>来安排你的工作。

< P>如果你想每小时做一些任务,你应该考虑使用CRON JOBJ. 您的shell脚本代码存在语法问题,例如,
[…]
和函数调用之间的空格等。更重要的是,如果您使用
+%M(分钟)==00
进行检查并启动“更新”。这意味着,在每小时的第一分钟内,您将在整个60秒内不断更新资源。因为,对于您的函数,例如03:00:00-03:00:59返回相同的结果:
00


这可能是数十亿次的更新。同样,使用crontab 您的shell脚本代码存在语法问题,例如,
[…]
和函数调用之间的空格等。更重要的是,如果您使用
+%M(分钟)==00
进行检查并启动“更新”。这意味着,在每小时的第一分钟内,您将在整个60秒内不断更新资源。因为,对于您的函数,例如03:00:00-03:00:59返回相同的结果:
00

这可能是数十亿次的更新。同样,使用crontab