如何将参数传递给erlang os:cmd()?

时间:2017-04-19 05:11:10

标签: linux shell erlang

我想知道在使用ErLang时如何将参数传递给shell脚本?我知道我可以使用os:cmd()来执行shell脚本,但我发现我无法将参数传递给此命令。

例如,我有一个参数L = 2,我希望我的shell脚本使用此参数,因此erlang命令应为os:cmd("bash echo.sh L")。但是,输出是L,但我希望得到2。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

函数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))