【问题标题】:Automate Erlang shell nodes with unix batch使用 unix 批处理自动化 Erlang shell 节点
【发布时间】:2011-12-04 07:47:12
【问题描述】:

我可以从批处理文件中运行许多 erlang 节点。但是,我可以将一些参数传递给 erl 使其执行一些命令吗?

【问题讨论】:

  • 看起来 erl -eval 解决了我的问题。
  • 也许我的回复 on a similar questions 可能会有所帮助。

标签: bash erlang erlang-shell


【解决方案1】:

如果你想启动一个节点,例如启动一个 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,我建议您查看 escriptfollowing question,如建议的 D.Nibon

【讨论】:

    【解决方案2】:

    是的。你可以。 如果你问得更具体,如果我可以的话,我会给你一个更具体的答案。 这似乎是一个比“bash”问题更“erlang”的问题。

    【讨论】:

    • 启动终端 -> 启动 erl -> 在 erlang shell (module_name:function_name()) 中运行一些命令。前两步我已经可以做,但坚持到了第三步。
    • 有没有办法给erl命令一个字符串,它会被解释为erlang命令?
    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2014-08-23
    • 2016-03-28
    • 2018-11-12
    • 1970-01-01
    相关资源
    最近更新 更多