当提供空列表时,是否存在使docker静音的标志

时间:2018-03-05 19:05:02

标签: bash docker

在遵循此模式的命令中运行多个docker命令时,此功能非常有用:

docker do_smth $(docker query_smth)

例如:

docker stop $(docker ps -q)

docker rm $(docker ps -a -q)

docker network rm $(docker inspect ... --format ...)

如果内部docker命令返回一个空列表,则外部命令将失败,因为它将显示帮助。

"docker stop" requires at least 1 argument.
See 'docker stop --help'.

Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...] [flags]

Stop one or more running containers

有没有办法让码头工人沉默或让码头工人不在空列表上投诉?像:"杀死所有人。如果没有人,就完成了工作。"

这类似于mkdir -p exiting_directory vs mkdir exiting_directory,如果目录存在,前者不会抱怨。

1 个答案:

答案 0 :(得分:2)

对于结果可能为空的脚本,我更喜欢使用xargs --no-run-if-empty

docker ps -aq | xargs --no-run-if-empty docker rm