@@ -31,15 +31,20 @@ jobs:
31
31
declare -A duplicate_images
32
32
declare -A temp_map
33
33
while IFS= read -r line; do
34
+ # 忽略空行与注释
34
35
[[ -z "$line" ]] && continue
36
+ if echo "$line" | grep -q '^\s*#'; then
37
+ continue
38
+ fi
39
+
35
40
# 获取镜像的完整名称,例如kasmweb/nginx:1.25.3(命名空间/镜像名:版本号)
36
41
image=$(echo "$line" | awk '{print $NF}')
37
42
echo "image $image"
38
43
# 获取镜像名:版本号 例如nginx:1.25.3
39
44
image_name_tag=$(echo "$image" | awk -F'/' '{print $NF}')
40
45
echo "image_name_tag $image_name_tag"
41
- # 获取命名空间
42
- name_space=$(echo "$image" | awk -F'/' '{if (NF>1 ) print $1}'| awk '{ print $1}')
46
+ # 获取命名空间 例如kasmweb, 这里有种特殊情况 docker.io/nginx,把docker.io当成命名空间,也OK
47
+ name_space=$(echo "$image" | awk -F'/' '{if (NF==3 ) print $2; else if (NF==2) print $1; else print "" }')
43
48
echo "name_space: $name_space"
44
49
# 这里不要是空值影响判断
45
50
name_space="${name_space}_"
61
66
62
67
63
68
while IFS= read -r line; do
69
+ # 忽略空行与注释
64
70
[[ -z "$line" ]] && continue
71
+ if echo "$line" | grep -q '^\s*#'; then
72
+ continue
73
+ fi
74
+
65
75
echo "docker pull $line"
66
76
docker pull $line
67
77
platform=$(echo "$line" | awk -F'--platform[ =]' '{if (NF>1) print $2}' | awk '{print $1}')
77
87
image=$(echo "$line" | awk '{print $NF}')
78
88
# 获取 镜像名:版本号 例如nginx:1.25.3
79
89
image_name_tag=$(echo "$image" | awk -F'/' '{print $NF}')
80
- # 获取命名空间 例如kasmweb
81
- name_space=$(echo "$image" | awk -F'/' '{if (NF>1 ) print $1}'| awk '{ print $1}')
90
+ # 获取命名空间 例如kasmweb 这里有种特殊情况 docker.io/nginx,把docker.io当成命名空间,也OK
91
+ name_space=$(echo "$image" | awk -F'/' '{if (NF==3 ) print $2; else if (NF==2) print $1; else print "" }')
82
92
# 获取镜像名例 例如nginx
83
93
image_name=$(echo "$image_name_tag" | awk -F':' '{print $1}')
84
94
0 commit comments