【发布时间】:2021-05-14 03:12:35
【问题描述】:
在长生不老药代码中,我希望将位置更改为目录并在那里运行脚本
File.cd!("/opt/test/", System.cmd("./bin/myscript.sh", []))
File.cd 的第二个参数!是一个函数,我认为 System.cmd 可以满足作为函数的要求,但我使用的编辑器说这个语句永远不会起作用。
有没有更简单的方法可以切换到目录并执行 shell 脚本?
【问题讨论】:
标签: elixir
在长生不老药代码中,我希望将位置更改为目录并在那里运行脚本
File.cd!("/opt/test/", System.cmd("./bin/myscript.sh", []))
File.cd 的第二个参数!是一个函数,我认为 System.cmd 可以满足作为函数的要求,但我使用的编辑器说这个语句永远不会起作用。
有没有更简单的方法可以切换到目录并执行 shell 脚本?
【问题讨论】:
标签: elixir
根据System.cmd/3 的文档,有:cd 选项。所以你只需要使用它:
System.cmd("./bin/myscript.sh", [], cd: "/opt/test/")
【讨论】:
怎么样
System.cmd("/opt/test/bin/myscript.sh", [])
【讨论】:
如果你想传递一个函数,你需要明确地把它变成一个 lambda。
File.cd!("/opt/test/", fn() -> System.cmd("./bin/myscript.sh", []))
【讨论】: