Erlang shell在使用路径添加时忽略参数
Posted
技术标签:
【中文标题】Erlang shell在使用路径添加时忽略参数【英文标题】:Erlang shell ignoring parameters when using path add 【发布时间】:2021-07-31 07:58:23 【问题描述】:erl -sname test –pa ./simple_cache/ebin
以前可以正常工作(而且我在正确的目录中),但现在:
Eshell V11.1.5
1> node().
nonode@nohost
既没有启动网络内核,也没有添加路径。不过,在 shell 中手动这样做是可行的。
【问题讨论】:
我可以复制,问题似乎出在路径上,因为仅运行erl -sname test
确实可以按预期工作(即它设置节点名称)。
这怎么可能?我没有收到错误,并且路径的内容很好: $ ls ./simple_cache/ebin create_tables.beam sc_app.beam sc_element_sup.beam sc_event_logger.beam sc_sup.beam simple_cache.beam resource_discovery.beam sc_element.beam sc_event.beam sc_store.beam simple_cache.app
是的……不知道。我现在也有兴趣弄清楚这一点。
所以我把它归结为:我实际上在运行相同的命令,但一个是从 slack 复制的,另一个是键入的(虽然不知道哪个是哪个): giphy.com/gifs/FuEYwhAdTDvoKi3efj 一个有效,另一个无效。
【参考方案1】:
–pa
中的破折号不是常规破折号,而是其他东西。一些花哨的格式可能在被复制之前就出错了。
–pa
是代码点(又名破折号)(U+2013),-sname
是代码点 (U+002D)(又名连字符减号)。
【讨论】:
【参考方案2】:无论出于何种原因,命令中的破折号都不同:
erl -sname test –pa ./simple_cache/ebin
sname
之前的那个稍微短一些,结果证明使用那个可以解决问题。我的天。
【讨论】:
以上是关于Erlang shell在使用路径添加时忽略参数的主要内容,如果未能解决你的问题,请参考以下文章
使用带有列表的 shell=True 时忽略 subprocess.call() 参数 [重复]