【问题标题】:Elixir change to a directory and run a shell scriptElixir 切换到一个目录并运行一个 shell 脚本
【发布时间】:2021-05-14 03:12:35
【问题描述】:

在长生不老药代码中,我希望将位置更改为目录并在那里运行脚本

File.cd!("/opt/test/", System.cmd("./bin/myscript.sh", []))

File.cd 的第二个参数!是一个函数,我认为 System.cmd 可以满足作为函数的要求,但我使用的编辑器说这个语句永远不会起作用。

有没有更简单的方法可以切换到目录并执行 shell 脚本?

【问题讨论】:

    标签: elixir


    【解决方案1】:

    根据System.cmd/3 的文档,有:cd 选项。所以你只需要使用它:

    System.cmd("./bin/myscript.sh", [], cd: "/opt/test/")
    

    【讨论】:

      【解决方案2】:

      怎么样

      System.cmd("/opt/test/bin/myscript.sh", [])
      

      【讨论】:

        【解决方案3】:

        如果你想传递一个函数,你需要明确地把它变成一个 lambda。

        File.cd!("/opt/test/", fn() -> System.cmd("./bin/myscript.sh", []))
        

        【讨论】:

          猜你喜欢
          • 2013-04-18
          • 1970-01-01
          • 2020-11-04
          • 2021-05-22
          • 1970-01-01
          • 2018-07-19
          • 2021-06-03
          • 1970-01-01
          • 2015-07-27
          相关资源
          最近更新 更多