#command-line #elixir
#командная строка #elixir
Вопрос:
У меня есть проект с исполнительным файлом в нем: ./bin/dcolors
Итак, я хочу запустить этот файл через System.cmd/3
. Как я могу это сделать?
Мои попытки
Сначала: запустите просто ./bin/dcolors
.
System.cwd # => project path
System.cmd("./bin/dcolors", []) # => :enoent
Ответ №1:
В документации для System#cmd/3
говорится:
command
ожидается, что это исполняемый файл, доступный вPATH
, если не указан абсолютный путь.
Поскольку ./bin
предполагается, что его нет в пути, можно использовать абсолютный путь, полученный через System#cwd/0
и объединенный с относительным с помощью Path#join/2
:
System.cwd
|> Path.join("bin/dcolors")
|> System.cmd([])