2011-10-10 44 views
0

我可以從批處理文件運行許多erlang節點。但是,我可以通過一些參數來導致它執行一些命令嗎?使用unix批量自動化Erlang shell節點

+0

看起來像erl -eval解決了我的問題。 – Yola

+2

也許我的回覆[在類似的問題](http://stackoverflow.com/questions/4525506/run-erlang-from-unix-shell-with-complex-params/4525599#4525599)可能會有所幫助。 –

回答

3

如果你想開始一個節點,例如啓動一個Erlang的應用程序,或者運行開始的幾行了節點可以運行ERL命令通過以下方式

erl -eval "application:start(my_app)" 

或啓動與多個命令

erl -eval "Res = my_first_module:my_start_fun(MyArg), 
      my_log:log(Res), 
      another_module:another_fun(Res)" 

同一節點具有高於但把節點到一個後臺進程

erl -sname nodename 
    -setcookie nodecookie 
    -eval "Res = my_first_module:my_start_fun(MyArg), 
      my_log:log(Res), 
      another_module:another_fun(Res)" 
    -detached 

但是,如果你想運行erlang在一個更「scriptwise」的方式我建議你看看escriptfollowing questionD.Nibon建議

0

是的。您可以。 如果你問的更具體,我會給你一個更具體的答案,如果我能夠。 這似乎是一個比「bash」問題更「erlang」的問題。

+0

啓動終端 - >啓動erl - >在erlang shell(module_name:function_name())中運行一些命令。前兩個步驟我已經可以做到了,但是還是陷入了第三步。 – Yola

+0

有沒有辦法給erl命令一個字符串,它會被解釋爲erlang命令? – f4m8