Erlang 如何从linux命令行在模块中运行带参数的函数

Erlang 如何从linux命令行在模块中运行带参数的函数,erlang,Erlang,我在模块mymodule中有一个以两个参数开始的函数。如何从命令行运行此函数 我试试这个: erl-名称myname@myserver.com-s mymodule start 5 10 但这会引起错误: {“init终止于do_boot”{unde,[{mymodule,start,[['5','10']]},{init,start_it,1},{init,start_em,1}]} 我希望能够从bash文件运行这个函数,我认为它希望start函数的arity为1,所以在本例中,它试图调用mo

我在模块mymodule中有一个以两个参数开始的函数。如何从命令行运行此函数

我试试这个:

erl-名称myname@myserver.com-s mymodule start 5 10

但这会引起错误: {“init终止于do_boot”{unde,[{mymodule,start,[['5','10']]},{init,start_it,1},{init,start_em,1}]}


我希望能够从bash文件运行这个函数,我认为它希望start函数的arity为1,所以在本例中,它试图调用module:start(['5','10'])。因此,将start函数更改为接受由2个参数组成的列表,如[arg1,arg2]中所示。另外,请查看关于-run和-s标志的文档-s将参数作为原子传递,而-run将参数作为字符串传递

-运行Mod[Func[Arg1,Arg2,…]](初始化标志) 使init调用指定的函数。Func默认为启动。如果未提供任何参数,则假定函数的arity为0。否则,假定它是arity 1,将列表[Arg1,Arg2,…]作为参数。所有参数都作为字符串传递。见init(3)


我认为它期望start函数的arity为1,因此在本例中,它试图调用module:start(['5','10'])。因此,将start函数更改为接受由2个参数组成的列表,如[arg1,arg2]中所示。另外,请查看关于-run和-s标志的文档-s将参数作为原子传递,而-run将参数作为字符串传递

-运行Mod[Func[Arg1,Arg2,…]](初始化标志) 使init调用指定的函数。Func默认为启动。如果未提供任何参数,则假定函数的arity为0。否则,假定它是arity 1,将列表[Arg1,Arg2,…]作为参数。所有参数都作为字符串传递。见init(3)