我想知道在使用ErLang时如何将参数传递给shell脚本?我知道我可以使用os:cmd()
来执行shell脚本,但我发现我无法将参数传递给此命令。
例如,我有一个参数L = 2
,我希望我的shell脚本使用此参数,因此erlang命令应为os:cmd("bash echo.sh L")
。但是,输出是L,但我希望得到2。任何人都可以帮助我吗?
答案 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))