在cronjob中调用chpasswd是未知命令?

时间:2015-05-03 07:58:56

标签: bash crontab

我对以下内容感到好奇:

我有一个bash脚本,通过cronjob在一个月内执行一次。以下行给出错误"未知命令"当通过cronjob时:

echo $P | chpasswd

当我直接执行bash脚本时,它正常工作。

有想法的人吗?

1 个答案:

答案 0 :(得分:1)

将评论转换为答案。

.hasOwnProperty()工作提供的PATH是什么? cron存放在哪里?由于存储chpasswd的目录未在chpasswd提供的路径中列出,因此无法找到它。 cron的环境非常有限;任何与众不同的事情都意味着需要非常小心。

cron作业运行的脚本中更完整地设置PATH,或指定不在cron/bin中的命令的绝对路径名。

顺便提一下,如何为/usr/bin设置P来回应它?它不是每个月设定相同的值吗?那是明智的吗?

Stack Overflow还有很多关于从echo作业运行命令的困难的其他问题。除其他外,请参阅Bash script not running in cron correctlyPerl script works but not via cron以及Is there a special restriction on commands executed by cron?,仅列举三个。