Невозможно остановить и остановить контейнеры rm из скрипта Scala - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь выполнить следующую команду из скрипта аммонита Scala:

 Process("docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)")

Я всегда получаю следующий вывод:

unknown shorthand flag: 'a' in -a
See 'docker stop --help'.

Я пробовал так много разныхвариации без везения, однако с консоли все нормально работает.Некоторая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 27 ноября 2018

Если вы передадите строку в Process, тогда Scala просто разделит ее на пробелы, и она не будет достаточно умна, чтобы интерпретировать такие вещи, как подстановка команд bash $().

Самый простой обходной путьиспользовать Seq команд и заключить ваши вещи в вызов bash:

Process(Seq("bash", "-c", "docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)"))
...