无法从 Scala 脚本停止和 rm docker 容器
Unable to stop and rm docker containers from Scala script
我正在尝试从 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 的命令替换 $()
.
最简单的解决方法是使用 Seq
命令,并将您的内容包装在对 bash:
的调用中
Process(Seq("bash", "-c", "docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)"))
我正在尝试从 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 的命令替换 $()
.
最简单的解决方法是使用 Seq
命令,并将您的内容包装在对 bash:
Process(Seq("bash", "-c", "docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)"))