bil*_*cyz 2 linux shell erlang
我想知道在使用 ErLang 时如何将参数传递给 shell 脚本?我知道我可以os:cmd()用来执行 shell 脚本,但我发现我无法将参数传递给这个命令。
例如,我有一个参数L = 2,我希望我的 shell 脚本使用这个参数,所以 erlang 命令应该是os:cmd("bash echo.sh L"). 但是,输出是 L,但我想得到 2。谁能帮我?
函数 io_lib:format/2 允许您准备一个字符串,然后将其传递给 os:command/1 :
S = io_lib:format("bash echo.sh ~p",[L]),
os:cmd(S),
Run Code Online (Sandbox Code Playgroud)
S是一个嵌套列表,我不记得它是否被 接受os:cmd/1,否则你将不得不展平结果os:cmd(lists:flatten(S))