【发布时间】:2017-12-04 14:30:59
【问题描述】:
我正在尝试检查一个数字是否与上次检查时的不同,在这种情况下,每分钟检查一个数字,使用 Linux 脚本和 cron。
例如:
newNum = getNum()
if oldNum != newNum: run some code
oldNum = newNum
(repeat every minute using crontab)
但我遇到的问题是脚本之间无法访问变量,并且使用源(例如 source script.sh)再次运行脚本,因此获得最新版本,而不是一分钟前的版本。
我最好的方法是运行第一个获取当前数字的脚本,然后休眠一分钟,然后运行第二个脚本,它基本上是上面代码的前两行。
例如:
oldNum = getNum()
sleep 60
export oldNum
script2.sh
这对我来说似乎效率低下,如果可能的话,我想知道是否有更好的解决方案。
【问题讨论】:
-
另一个潜在的问题是
cron只将事情安排为一分钟的分辨率,所以如果你告诉它每分钟运行一次,我认为这可能会导致问题。
标签: linux shell cron global-variables instance-variables