0

我正在尝试从 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'.

我已经尝试了很多不同的变体,但没有任何运气,但它在控制台上运行良好。一些帮助将不胜感激。

4

1 回答 1

1

如果您将字符串传递给Process然后 scala 只会将其拆分为空格,并且它不足以解释诸如 bash 的命令替换之类的内容$()

最简单的解决方法是使用一个Seq命令,并将你的东西包装在对 bash 的调用中:

Process(Seq("bash", "-c", "docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)"))
于 2018-11-27T16:27:28.330 回答