【发布时间】:2016-11-07 00:07:48
【问题描述】:
我正在编写的 bash 脚本遇到问题。我对 bash 脚本还很陌生,所以我很乐意提供一些帮助或意见。
我们正在运行一个设备服务器。不幸的是,我不允许更改此服务器的时区。所以我需要使用 UTC 时区。
现在我想创建应该在晚上 8 点在我们的维护窗口中自动运行的脚本。现在的问题是,UTC 不知道夏季/冬季时间之间的差异。
所以我尝试了以下方法:
#!/bin/bash
array_time=("Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct")
ZONE=`date | cut -c 5-7`
echo $ZONE
if [[ " ${array_time[@]} " == " ${ZONE} " ]]; then
echo "SUMMERTIME CRONJOB"
else
echo "WINTERTIME CRONJOB"
fi
但由于某种原因,这是输出:
./test.sh
Jul
WINTERTIME CRONJOB
因此,即使值 Jul 是 array_time 变量的一部分,它也会转到 if 条件的 else 部分。我不确定为什么会这样。有人知道为什么吗?或者也许有人知道如何解决这个问题?
感谢您的帮助
干杯
【问题讨论】: