我使用变量来声明作业的开始时间和日期at
。这工作正常,但现在我意识到我需要从时间变量中减去几个小时,以使 at 作业比变量中规定的时间更早运行(该变量在脚本的其他地方以及 at 作业中使用)
#variables
time=2:00pm
date=2018-1-16
#I need to subtract 4 hours from the time variable
at -f /home/JS/filename $time-4hours $date >attemp 2>&1
我想过引入第三个变量作为减法的结果,但也无法实现。
答案1
在我的 Debian 系统上:
$ echo true | at 2:00pm 2018-01-18 - 4 hours
warning: commands will be executed using /bin/sh
job 10 at Thu Jan 18 10:00:00 2018
time
因此,考虑到和中的适当值date
,我认为这应该有效:
$ at -f ... $time $date - 4 hours
对令牌的顺序有点挑剔,看来它们需要按顺序排列时间,日期,三角洲。例如,这不起作用:
$ echo true | at 2:00pm - 4 hours 2018-01-18
syntax error. Last token seen: 2018-01-18
Garbled time