【问题标题】:Bash command with $(subcommand) not working in make [duplicate]带有$(子命令)的Bash命令在make中不起作用[重复]
【发布时间】:2023-10-24 23:56:01
【问题描述】:

这是在我的生成文件中:

docker-rm:
  docker rm $(docker ps -aq)

当我运行它时,我得到了这个:

$ make docker-rm
docker rm 
"docker rm" requires at least 1 argument.
See 'docker rm --help'.

Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]

Remove one or more containers
make: *** [Makefile:15: docker-rm] Błąd 1

并不是我没有要删除的容器,因为当我在没有 makefile 的情况下运行 docker 命令时,它可以正常工作:

$ docker rm $(docker ps -aq)
463323e2bcf0
eef08f265387
2152910c6fe6
d7e7e9aff4e2
82875b1966c9
2d9295c8d32d
b9a45885e45d

【问题讨论】:

    标签: bash docker shell makefile


    【解决方案1】:

    你必须在 Makefile 中引用$

    docker-rm:
            docker rm $$(docker ps -aq)
    

    【讨论】:

      最近更新 更多