在bash脚本中设置的日期

在bash脚本中设置的日期

问题描述:

我在服务器上使用ntpd sync有一些问题。除非我们解决了这个问题,否则我已经编写脚本来为那些不同步的人手动设置日期。在bash脚本中设置的日期

为此,我使用了一台参考机器,并捕获该机器的当前日期并尝试将其设置在所有其他机器上。

我在剧本

ssh -i /mnt/keys/g.pem -o StrictHostKeyChecking=no [email protected]$IP 'date --set="$ref_date"' 

使用下面的命令,但命令运行时,它设置错误的日期。

e.g ref_date=Sat Sep 24 06:52:17 UTC 2016 

当我赞同上面的命令就说明下面一行

ssh -i /mnt/keys/g.pem -o StrictHostKeyChecking=no [email protected] 'date --set="Sat Sep 24 06:52:17 UTC 2016"' 

但是当同样的命令实际上是在它提供了以下输出

ssh -i /mnt/keys/g.pem -o StrictHostKeyChecking=no [email protected] 'date --set="Sat Sep 24 06:52:17 UTC 2016"' 

Sat Sep 24 00:00:00 UTC 2016 

注:我已经取代$ IP用XX。以上输出中的xx.xx.xx。

请提供解决方案。

+0

什么,如果你尝试' '日期--date = “星期六09月24日六时52分17秒UTC 2016 ...”' 你? – sorontar

ssh -i /mnt/keys/g.pem -o StrictHostKeyChecking=no [email protected]$IP "date --set=\"$ref_date\"" 

参见:Difference between single and double quotes in Bash