linux - bash : $_ in cronjob is empty

标签 linux bash shell cron

cd some_dir && php some_crone.php || echo "$? $_" | xargs ./some_handler.php

因此,当我从控制台运行此代码时,我得到了正确的 $ 值?并为 $_

$? - 退出状态 $_ - 给出前一个命令的最后一个参数。在 shell 启动时,它给出正在执行的 shell 脚本的绝对文件名。

但是当我将此代码放入 cronjob 时:

crontab -e
*/1 * * * * cd some_dir && php some_crone.php || echo "$? $_" | xargs ./some_handler.php

我得到了一个空的$_​​。 请帮忙。我不明白什么问题?

最佳答案

通过将以下行添加到 crontab,将 crontab 的默认 shell 从/bin/sh 更改为/bin/bash。

SHELL=/bin/bash

关于linux - bash : $_ in cronjob is empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721565/

相关文章:

linux - 检查linux是否运行在正常模式

linux - arm-linux-gnueabi 工具链与 arm-linux-androideabi 工具链。

python - 批处理 : GNU-make, Snakemake 还是什么?

linux - 如何将存在于远程 Linux 服务器上的 git 存储库克隆到 Windows

c - opendir() 系统调用后指向 char 的指针发生变化

bash - 遍历 $@ 的值

bash - 在 awk 脚本的 BEGIN 部​​分中确定 NR

linux - 意外的 EOF 错误

linux - 如何使用初始化函数?

python - 如何在 Linux 中重启 IDLE Python Shell?