Python的cron作业:/ usr / local / bin:糟糕的解释器:权限被拒绝

我在CentOS VPS中设置了以下crontab:

SHELL=/bin/bash HOME=/ * * * * * /root/ebay/findcheapitems.py 

脚本运行良好手动使用:

 python2.7 ebay/findcheapitems.py 

它已经通过dos2unix进行EOL转换,具有-rwxr-xr-x权限,并且该文件的第一行有:

 #!/usr/local/bin python2.7 

但是,每当cron作业尝试运行时,我都会收到邮件,他说:

 /bin/bash: /root/ebay/findcheapitems.py: /usr/local/bin: bad interpreter: Permission denied 

我已经使用'which'确认了python2.7的位置:

 # which python2.7 /usr/local/bin/python2.7 

我是一个Linux初学者,所以我敢肯定我错过了一些简单的东西!

您需要将文件路径指定为一个路径,而不是目录和文件名:

 #!/usr/local/bin/python2.7 

否则,目录路径被视为可执行文件。

更新 Kevin Guan建议,也可以使用/usr/bin/env而不是指定可执行文件的完整路径。

 #!/usr/bin/env python2.7 

使用

 #!/usr/local/bin/python2.7 

而不是#!/usr/local/bin python2.7