gpt4 book ai didi

bash - crontab 中的“7 天前”日期格式问题

转载 作者:行者123 更新时间:2023-11-29 09:14:38 24 4
gpt4 key购买 nike

我正在运行一个 cron,其中包含一个 curl,其中包含 startDate 和 endDate 的值,这些值必须采用 yyyy-mm-dd 格式。 endDate 是今天,startDate 是 7 天前。整体格式为:

curl -o ~/location/filename.xml "http://url.asmx/do_this?&startDate=x&endDate=y"

使用固定的开始日期,这可以通过 macosx 上的终端运行:

&startDate=2014-10-01&endDate=`date +\%Y-\%m-\%d`"

但是,记住 startDate 应该比系统日期早 7 天,下面的两种方法都会导致错误“指定的日期格式不正确”。日期格式应为:YYYY-MM-DD,如2011-12-24'

startDate=`date -d '7 days ago' +\%Y-\%m-\%d`&endDate=`date +\%Y-\%m-\%d`
startDate=`date --date="7 days ago" +\%Y-\%m-\%d`&endDate=`date +\%Y-\%m-\%d`

这是使用 "' 和 ` 的问题吗?

我在这里做错了什么?顺便说一句,我试图保持在一行命令行中,而不是在文件中使用脚本。

编辑:通过谷歌搜索和复制粘贴许多建议,我发现 Mac 论坛上的以下内容有效:

$(date -v-7d +%Y-%m-%d)

但是我以前没有遇到过 -v。我想知道它是什么,它是否特定于 Mac,这会在其他服务器上出现问题吗?

最佳答案

Is this an issue with using " ' and `?

可能吧。将 `` 替换为 $()​​ 您的命令有效:

curl -o ~/location/filename.xml "http://url.asmx/do_this?&startDate=$(date -d '7 days ago' +\%Y-\%m-\%d)&endDate=$(date +\%Y-\%m-\%d)"

关于bash - crontab 中的“7 天前”日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26371003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com