【发布时间】:2014-10-15 17:13:21
【问题描述】:
我正在运行一个包含 curl 的 cron,其中包含 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 的吗?这会在其他服务器上出现问题吗?
【问题讨论】: