卷曲,发布当前时间

时间:2011-11-29 10:57:02

标签: macos unix post curl

我每小时使用一个cronjob(我在Mac上)发出这个命令:

/usr/bin/curl -s --data "gr=0123&press=OK" http://www.myurl.com/myphp.php >/dev/null

有没有办法以HH:MM格式发布当前时间,添加新的帖子参数?怎么样?

1 个答案:

答案 0 :(得分:1)

首先,如果你还没有想出来,为了获得Macintosh shell中的时间,你可以这样做:

date +"%H:%M"

所以,回答你的问题,尝试怎么样:

/usr/bin/curl -s --data "gr=0123&press=OK&time=`date +'\%H:\%M'`" http://www.myurl.com/myphp.php >/dev/null

如果这不起作用,请尝试这样做(全部在一行)

setenv CURRENTTIME `date +'\%H:\%M'` ; /usr/bin/curl -s --data "gr=0123&press=OK&time=$CURRENTTIME" http://www.myurl.com/myphp.php >/dev/null

请注意,您需要转义百分号;否则,cron会将它们转换为换行符并传递每一行,但第一行通过stdin传递给命令。来自crontab(5)联机帮助页:

  

行的整个命令部分,直到换行符或%字符,将由/ bin / sh或cronfile的SHELL变量中指定的shell执行。除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。

考虑到命令行开始增长相当长,最好将它放在shell脚本中,并将脚本作为cron作业调用。