我写了一个自定义命令,有一个参数是当前时间(字符串格式)
artisan check-banners $(date +%X)
参数随后被传递给fire方法,我可以成功地将当前时间插入数据库。然而……当我尝试cronjob这个自定义命令时,它不起作用。参见下面的代码:
* * * * * php /Applications/AMPPS/www/laravel/artisan check-banners $(date +%X)
我已经尝试插入'foo'
而不是$(date +%X)
作为参数,它成功地插入到数据库中。
为什么我不能通过cronjob插入这个$(date +%X)
?但是我可以通过artisan check-banner $(date +%X)
手动输入它,它可以工作
百分比符号在crontab中有特殊含义,需要转义,如下:
* * * * * php /Applications/AMPPS/www/laravel/artisan check-banners $(date +%X)
另外,我不确定,但您可能需要将+%X参数也括在引号中:
* * * * * php /Applications/AMPPS/www/laravel/artisan check-banners $(date "+%X")