我正在尝试从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'.
我尝试了很多不同的版本,但是没有运气,但是在控制台上可以正常工作。一些帮助将不胜感激。
答案 0 :(得分:1)
如果将字符串传递给Process
,那么scala只会将其分割在空格上,并且它不够聪明,无法解释bash的命令替换$()
之类的东西。
最简单的解决方法是使用Seq
命令,然后将内容包装在对bash的调用中:
Process(Seq("bash", "-c", "docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)"))