如何将参数传递给 erlang os:cmd()?
Posted
技术标签:
【中文标题】如何将参数传递给 erlang os:cmd()?【英文标题】:How to pass arguments into erlang os:cmd()? 【发布时间】:2017-09-15 03:52:17 【问题描述】:我想知道在使用 ErLang 时如何将参数传递给 shell 脚本?我知道我可以使用 os:cmd()
来执行 shell 脚本,但我发现我无法将参数传递给这个命令。
例如,我有一个参数L = 2
,我希望我的shell 脚本使用这个参数,所以erlang 命令应该是os:cmd("bash echo.sh L")
。但是,输出是 L,但我想得到 2。谁能帮帮我?
【问题讨论】:
【参考方案1】:函数 io_lib:format/2 允许您准备一个字符串,然后将其传递给 os:command/1 :
S = io_lib:format("bash echo.sh ~p",[L]),
os:cmd(S),
S
是一个嵌套列表,我不记得它是否被os:cmd/1
接受,否则你将不得不将结果扁平化os:cmd(lists:flatten(S))
【讨论】:
os:cmd
接受原子和深度列表,但不接受二进制文件。以上是关于如何将参数传递给 erlang os:cmd()?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数