使用 unix 批处理自动化 Erlang shell 节点

发布于 2024-12-09 03:39:01 字数 60 浏览 0 评论 0 原文

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

I can run many erlang nodes from batch file. But, can i pass some arguments to erl that cause it to execute some commands?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

澉约 2024-12-16 03:39:01

如果您希望启动一个节点,例如启动一个 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)"

,或者使用与上面相同 但将但是如果你想以更“脚本化”的方式运行erlang,

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

我建议你查看 脚本以下问题 就像D.Nibon 建议的

If you wish to start a node, and for example start an erlang application, or run a few lines for the start up of the node you can run the erl command the following way

erl -eval "application:start(my_app)"

or starting the node with several commands

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

the same has above but putting the node into a background process

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

But if you want to run erlang in a more "scriptwise" way I do suggest you look into escript and the following question like D.Nibon suggested

忘你却要生生世世 2024-12-16 03:39:01

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

Yes. You can.
If you ask more specific, i will get you a more specific answer, if i'm able to.
This seems like a more "erlang" question than a "bash" question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文