在 cronjob 中调用时 chpasswd 是未知命令?
chpasswd is unknown command when called in cronjob?
我对以下内容感到好奇:
我有一个 bash 脚本,它通过 cronjob 每月执行一次。当 运行 通过 cronjob 时,以下行给出错误 "unknown command":
echo $P | chpasswd
当我直接执行bash脚本时,它运行正常。
有人有想法吗?
正在将评论转化为答案。
为您的 cron
工作提供的 PATH
是什么? chpasswd
存储在哪里?由于chpasswd
所在的目录在cron
提供的路径中没有列出,所以找不到。 cron
; 你得到的环境非常有限; 运行任何最不寻常的事情都需要非常小心。
通过 cron
作业在脚本 运行 中更完整地设置 PATH,或者指定不在 /bin
或 /usr/bin
中的命令的绝对路径名.
顺便说一句,你是如何设置P
让echo
回显的?它不是每个月都设置相同的值吗?这样明智吗?
Stack Overflow 上还有许多其他问题,涉及来自 cron
作业的 运行ning 命令的困难。其中,参见 Bash script not running in cron
correctly and Perl script works but not via cron
and Is there a special restriction on commands executed by cron
?,仅举三例。
我对以下内容感到好奇:
我有一个 bash 脚本,它通过 cronjob 每月执行一次。当 运行 通过 cronjob 时,以下行给出错误 "unknown command":
echo $P | chpasswd
当我直接执行bash脚本时,它运行正常。
有人有想法吗?
正在将评论转化为答案。
为您的 cron
工作提供的 PATH
是什么? chpasswd
存储在哪里?由于chpasswd
所在的目录在cron
提供的路径中没有列出,所以找不到。 cron
; 你得到的环境非常有限; 运行任何最不寻常的事情都需要非常小心。
通过 cron
作业在脚本 运行 中更完整地设置 PATH,或者指定不在 /bin
或 /usr/bin
中的命令的绝对路径名.
顺便说一句,你是如何设置P
让echo
回显的?它不是每个月都设置相同的值吗?这样明智吗?
Stack Overflow 上还有许多其他问题,涉及来自 cron
作业的 运行ning 命令的困难。其中,参见 Bash script not running in cron
correctly and Perl script works but not via cron
and Is there a special restriction on commands executed by cron
?,仅举三例。