0
我有这个test.sh如何将计算日期传递给bash shell?
#!/bin/bash
echo $1
调用它的工作原理:
sh ./test.sh $(date +"%F")
我想从目前的日期减去5天,传递给的test.sh
sh ./test.sh $(date --date="date-5 day" +"%F")
线以上不起作用。什么是正确的方法?
我有这个test.sh如何将计算日期传递给bash shell?
#!/bin/bash
echo $1
调用它的工作原理:
sh ./test.sh $(date +"%F")
我想从目前的日期减去5天,传递给的test.sh
sh ./test.sh $(date --date="date-5 day" +"%F")
线以上不起作用。什么是正确的方法?
我建议:
sh ./test.sh $(date --date="-5 day" +"%F")
随着我的设置en_US.UTF-8
命令date --date="-5 day" +"%F"
输出2017-08-04
。
你想做的事情不能做* * * *更具体,而且是@ jon-skeet的领域:什么是“减5天”的意思。这是120小时吗?在哪个时区?在哪个日历之后?在哪个区域?即使你“只是想要5天前”,事情也会变得相当复杂,因为在日期/时间计算中没有“正义”。因此,不要向bash提供这些信息,而应使用日期/时间CLI实用程序或脚本语言中的适当日期/时间库,并使用足够稳固的此类库来确保结果正确。 –
请看[这个回答](https://unix.stackexchange.com/a/49055/46316) - 你想要'--date =“ - 5天”。 –