无法从Scala脚本停止和rm docker容器

无法从Scala脚本停止和rm docker容器,scala,docker,process,ammonite,Scala,Docker,Process,Ammonite,我正在尝试从ammonite Scala脚本中执行以下命令: Process("docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)") 我总是得到以下输出: unknown shorthand flag: 'a' in -a See 'docker stop --help'. 我已经尝试了很多不同的变体,但没有任何运气,不过它在控制台上运行良好。非常感谢您的帮助。如果您将一个字符串传递给Process

我正在尝试从ammonite Scala脚本中执行以下命令:

 Process("docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)")
我总是得到以下输出:

unknown shorthand flag: 'a' in -a
See 'docker stop --help'.
我已经尝试了很多不同的变体,但没有任何运气,不过它在控制台上运行良好。非常感谢您的帮助。

如果您将一个字符串传递给Process,那么scala将只在空格上拆分它,并且它不会足够聪明地解释bash的命令替换$之类的内容

最简单的解决方法是使用一系列命令,并将您的内容包装在对bash的调用中:

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