【问题标题】:Erlang one-liners with eval on remote shell远程外壳上带有 eval 的 Erlang 单行代码
【发布时间】:2013-12-22 08:05:55
【问题描述】:

我正在尝试让 erlang 在具有远程 shell 连接的远程机器上运行一小段代码

erl $ERL_COOKIE -name ${SHELL_NAME} -remsh ${REMOTE_SHELL} -eval 'io:fwrite("~p",[registered()]), init:stop()'

eval 不在远程系统上执行,而是在一些本地引导程序中执行。我也试过-run-serl 有没有办法做到这一点?

【问题讨论】:

  • 查看 rpc 模块。此外,如果您使用名称和 cookie 集运行“erl”并按 Ctrl+G,您可以启动一个远程 shell,就像您正在寻找的那样 (Ctrl+G, r target@node, c)

标签: erlang erlang-shell


【解决方案1】:

如果您查看initerl 的文档,您将看到-eval 的表达式在当前erlang 节点中由init 评估,而不是由shell 评估。因此使用-remsh 启动连接到另一个节点的shell 不会影响-eval-run-s 的运行位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2010-11-11
    • 2014-05-22
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多