我有一個運行正常的命令行的escript文件,即:esrcript的cron藍調
./escript_file
它的目的是cron的友好和所有路徑是明確的,但是當我運行它,它不能通過編譯說有bad attributes
。
有問題的壞屬性是宏定義:
-define(COOKIE, 'somecookie').
答案
感謝傑夫準備的建議,我調查了二郎神的版本是由打印出init:script_id()
打印出一個字符串運行像{"OPT APN 181 O1", "R13B"}
,當然,命令行和cron版本正在挑選不同的版本。
腳本有一個初始行:
#!/usr/bin/env escript
和操作系統是對我「發現」二郎。 cron的不同環境變量意味着一個不同的erlang被選中(Geoff的第一個答案,我有一個知道,但不知道它會如何影響事物)。
然後將溶液以迫使版本的起跑線:
#!/usr/local/lib/erlang/erts-5.7.3/bin/escript
後記
還有一個不同的Ubuntu apt-get
安裝的二郎的早期版本(在不同的位置到源安裝)和一個錯誤的64位安裝...
cron環境只是不斷回落到舊的和更隱蔽的安裝,失敗所有w hile :(
的確,我們已經在R11B上安裝了R13B,並且escript正在拾取R11B,並且命令行正在拾取R13B – 2010-01-23 10:40:46