【问题标题】:How can I pass arguments to supervisor from command line如何从命令行将参数传递给主管
【发布时间】:2019-09-08 07:50:57
【问题描述】:

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

mix run project.exs arg1 arg2

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

我知道

escript: [main_module: App]

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

mix escript.build
./app

但这对我没有帮助

我对 Elixir 完全陌生,如果有任何帮助,我们将不胜感激。

【问题讨论】:

    标签: elixir


    【解决方案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

    【讨论】:

      【解决方案2】:

      你可以使用 System.argv()

      示例:

       def fun(n) do
            --code
           end
      
          n= System.argv()
      

      【讨论】:

        猜你喜欢
        • 2011-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-11
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        相关资源
        最近更新 更多