我有一个执行sh脚本的cronjob。该脚本还执行以下python脚本:Cron执行一个执行python脚本的sh脚本
#!/usr/bin/python
print "Running python script"
LANG = "en_US.UTF-8"
import sys
py3 = sys.version_info[0] > 2
u = __import__('urllib.request' if py3 else 'urllib', fromlist=1)
exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read())
print "installing"
main(install_dir='/opt')
然而,main(install_dir='/opt')
不cron什么时候执行,执行的Python脚本的sh脚本执行。如果我手动运行sh脚本,则Python脚本中的main(install_dir='/opt')
会执行,因为它应该如此。
为什么?
我也试过'#/ usr/bin/env python',但无济于事。 – Geremia
我仍然得到这个错误:'2014-03-07 00:00:06 URL:https://raw.github.com/kovidgoyal/calibre/master/setup/linux-installer.py [24956/24956] - > “ - ”[1] 安装到/ opt /口径 下载压缩包安全签名... 回溯(最近通话最后一个): 文件 “”,1号线,在 文件 “”,线路637,在主 文件 “”,线610,在download_and_extract 文件 “”,线321,在download_tarball 文件 “”,线路259,在do_download 文件 “”,线路206,在打印 TypeError:encode()参数1必须是字符串,而不是None' –
Geremia