bash - 提供空列表时,是否有标志使 docker 静音

标签 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

有没有办法让 docker 静音或让 docker 不在空列表上提示?比如:“杀死所有人。如果没有人,工作就完成了。”

这类似于 mkdir -p exiting_directory对比 mkdir exiting_directory如果目录存在,前者不会提示。

最佳答案

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

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

关于bash - 提供空列表时,是否有标志使 docker 静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117698/

相关文章:

linux - 需要有关如何从 bash 脚本中调用 .sed 文件的帮助

bash - 我可以使用 stat 来显示人类可读的文件大小吗?

node.js - Docker 容器中的 Node http-proxy

linux - 如何设置 'docker logs -t' 的时区?

ubuntu - 当在端口定义中指定 IP 地址时,Docker 生成 'port already allocated'

json - jq 在空格后截断 ENV 变量

regex - 在 Bash 中编辑/匹配某个特定匹配项下方的字符串 n 行?

bash - 如何自动重试 SFTP 连接尝试?

amazon-web-services - Kubernetes - Ingress-nginx 路由错误(无法将前端连接到后端)

linux - 如何从文件夹和子文件夹中删除文件单个命令linux