我有一個執行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