如何从命令行将参数传递给主管

时间:2019-08-31 00:54:12

标签: elixir

我想在启动像这样的应用程序时将参数传递给主管

mix run project.exs arg1 arg2

现在,我不知道如何使用脚本(exs)文件启动应用程序,该文件将启动我的主管(带有这些参数)

我知道

escript: [main_module: App]

在mix.exs中提供def main(args):然后:

mix escript.build
./app

但这对我没有帮助

我对Elixir完全陌生,将不胜感激。

2 个答案:

答案 0 :(得分:1)

通常,参数是通过环境变量[1]传递给应用程序的。

然后您可以通过在命令行中进行如下设置来启动应用程序:

ARG1=value ARG2=value mix run project.exs

然后,您可以在代码中通过

来获取它们
iex> System.get_env("ARG1")
value

[1] https://hexdocs.pm/elixir/System.html#get_env/2

答案 1 :(得分:0)

您可以使用System.argv()

示例:

 def fun(n) do
      --code
     end

    n= System.argv()