bash中某个命令的冷却时间

时间:2020-08-19 10:04:43

标签: bash raspberry-pi

我在RPI上编写了一个shell脚本(#!/ bin / sh),每当传感器的温度超过摄氏摄氏度时,它就会发送电子邮件。

由于传感器每分钟都会触发一次以进行记录,因此温度高于30度并持续约一个小时的时间会在60封邮件中解决,这不是我想要的。

是否可以为发送邮件的命令设置冷却时间?

这里是检查传感器数据并在高于30度时发送邮件的代码(通过功能解决,但我认为这无关紧要):

if [ $tempC -ge 40 ]
then
  #logging code
  mailSend "WARNING: Temperature is currently: $temp and Humidity is: ${file#"sensor_dhtH"}" #This command needs a cooldown
elif [ $tempC -ge 30 ]
then
  #logging code
  mailSend "Attention: Temperature is currently: $temp and Humidity is: ${file#"sensor_dhtH"}" #This command needs a cooldown
else
  #logging code
fi

预先感谢:)

1 个答案:

答案 0 :(得分:2)

好的,多亏了 @Mark Setchell ,我得以获得以下解决方案:

Main

我以前不知道 $ SECONDS 变量的重要性,因此,defennetly很有帮助,谢谢:)