shell 脚本在命令行上可以正常执行,但不能从 cron 作业中执行

shell 脚本在命令行上可以正常执行,但不能从 cron 作业中执行

我有一个非常简单的一行 update_pot.sh

find . -iname "*.php" | xargs xgettext -olocale/messages.pot --from-code=UTF-8 -j

如果从提示符运行 ./update_pot.sh,它可以工作。但是当我从 cron 作业调用时,它会返回

xgettext: no input file given
Try `xgettext --help' for more information.

我尝试将 #! /bin/sh 放在第一行,但没有变化。

答案1

它可能从错误的目录运行。将 放在cd脚本开头的正确目录中,或将 更改find为使用绝对路径。

答案2

我总是在没有环境的情况下尝试相同的命令

env - find . -iname "*.php" | xargs xgettext -olocale/messages.pot --from-code=UTF-8 -j

但 Cakemox 是对的 - 你应该指定要查找的路径

相关内容