2016-07-17 3 views
0

Я просто пытаюсь использовать Elixir для запуска команды curl с определенным форматом.Не удается запустить команду curl изнутри Elixir с System.cmd

$ curl -w "@config/curl-format.txt" -o /dev/null -s "http://wordpress.com/" 
0.004, 0.017, 0.000, 0.017, 0.000, 0.029, 0.029 

Выполнение команды непосредственно с терминала прекрасно работает.


Это то, что я пытаюсь сделать в Elixir:

args = ["-w config/curl-format.txt", "-o /dev/null", "-s", "http://wordpress.com"] 
result = System.cmd("curl", args, []) 

Но я получаю:

{" config/curl-format.txt", 23} 

И не один и тот же результат, что и выше.

ответ

3

Ваш System.cmd вызов эквивалентен (в синтаксисе оболочки), чтобы:

curl "-w config/curl-format.txt" "-o /dev/null" -s http://wordpress.com 

Вам необходимо пройти в -w, config/curl-format.txt, -o и /dev/null в разные аргументы. Вы также пропустили @ в @config/curl-format.txt. Это должно сработать:

args = ["-w", "@config/curl-format.txt", "-o", "/dev/null", "-s", "http://wordpress.com"] 
result = System.cmd("curl", args, []) 
+0

Спасибо, основанный продавец dilbert! –

Смежные вопросы