You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助完善Docker容器ID验证的Bash脚本

修复Docker镜像ID验证的Bash脚本

原脚本存在三个核心问题:

  • 逻辑判断颠倒:匹配到镜像ID时反而输出“不存在”
  • 未精确匹配IMAGE ID列,可能误匹配其他字段内容
  • 未限定完全匹配12位镜像ID,部分前缀匹配会导致错误判断

修正后的脚本

#!/bin/bash

if [[ $# -eq 0 ]]; then
    echo "Docker容器ID未提供"
else
    # 仅提取IMAGE ID列,精确匹配12位输入字符串
    if docker images --format '{{.ID}}' | grep -q "^$1$"; then
        echo "$1"
    else
        echo "不存在该容器ID $1"
    fi
fi

修改说明

  • 使用docker images --format '{{.ID}}'直接提取所有镜像ID,避免其他字段干扰
  • 用grep -q "^$1$"实现完全精确匹配,确保只有输入的12位字符与镜像ID完全一致时才判定存在
  • 修正逻辑判断:匹配成功时输出ID,失败时提示不存在
  • 统一中文提示语,符合需求

测试验证

  • 无输入执行:bash has_contained_id.sh
    输出:Docker容器ID未提供
  • 输入无效短字符:bash has_contained_id.sh 1
    输出:不存在该容器ID 1
  • 输入镜像ID前缀:bash has_contained_id.sh 091f1bf3491
    输出:不存在该容器ID 091f1bf3491
  • 输入完整12位镜像ID:bash has_contained_id.sh 091f1bf3491c
    输出:091f1bf3491c

内容的提问来源于stack exchange,提问作者Bruno Peixoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:56:07