通过elixir中的System.cmd以相对路径运行脚本

时间:2016-10-24 10:26:05

标签: command-line elixir

我有一个带有执行文件的项目:./bin/dcolors

所以,我想通过System.cmd/3运行此文件。我怎么能这样做?

我的尝试

首先:只运行./bin/dcolors

System.cwd # => project path
System.cmd("./bin/dcolors", []) # => :enoent

1 个答案:

答案 0 :(得分:1)

System#cmd/3州的文档:

  

command应该是PATH 中可用的可执行文件,除非给出绝对路径

由于./bin假定不在路径上,因此可以使用绝对路径,通过System#cwd/0检索并使用Path#join/2与相对路径连接:

System.cwd
|> Path.join("bin/dcolors")
|> System.cmd([])