我正在尝试指定一个时区,以便at
可以在 bash 脚本中使用它,而不必担心每年调整两次,并收到此错误:
在:拒绝创造注定过去的工作
我哪里做错了?
现在几点了?(英国刚刚从 BST 转为 GMT/UTC,进入冬季)
$ date
Sun 25 Oct 2020 11:00:11 AM GMT
这应该需要大约 5 分钟...
$ at 11:05 UTC
at: refusing to create job destined in the past
尝试使用服务器的命名时区...(实际上,我可以使用我能想到的任何时区 - 例如 CET、EST、EDT、CST、PST、PDT、AEST... - 文档/usr/share/doc/at/timespec只需说“time_base timezone_name”)
$ at 11:05 GMT
syntax error. Last token seen: G
Garbled time
最后证明它在没有任何时区的情况下可以正常工作。
$ at 11:05
warning: commands will be executed using /bin/sh
at>
[...]
版本 3.1.23
Debian 10.6
答案1
根据评论在这个答案中,at
使用环境变量设置的本地时间TZ
。因此你可以这样做:
对于 UTC:
TZ=UTC at 11:05
或者对于使用 GMT/BST 的英国(如适用):
TZ=Europe/London at 11:05