【发布时间】:2021-03-16 21:54:37
【问题描述】:
我每天都在尝试通过 Laravel 调度程序从我的服务器上清除敏感的历史命令
当我运行这段代码时:
$schedule->exec(`for h in $(history | grep mysql | awk '{print $1-N}' | tac) ; do history -d $h ; done; history -d $(history | tail -1 | awk '{print $1}') ; history`)->{$interval}()->emailOutputTo($email)->environments('prod');
我收到此错误:
⚡️ app2020 php artisan schedule:run
ErrorException
Undefined variable: h
at app/Console/Kernel.php:44
注意到这是一个完美的工作命令
for h in $(history | grep mysql | awk '{print $1-N}' | tac) ; do history -d $h ; done; history -d $(history | tail -1 | awk '{print $1}') ; history
注意: 我知道我可以通过将上面的命令添加到 crontab 中来实现它,但目标是让所有 cron 活动都组织在 Laravel 项目中
既然 bash 和 PHP 使用 $ 作为变量,那么如何使类似的 bash 命令工作?
任何提示,我都会接受。
【问题讨论】:
标签: php laravel bash laravel-scheduler