From 5bc4493e288f87e17cbcfaf4ec628b615ffe3e47 Mon Sep 17 00:00:00 2001 From: qiaofeng1227 <76487013@qq.com> Date: Sat, 16 Jul 2022 16:17:22 +0800 Subject: [PATCH] Update containers_version.sh --- scripts/containers_version.sh | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/scripts/containers_version.sh b/scripts/containers_version.sh index 09ec9640..a43e7c9b 100644 --- a/scripts/containers_version.sh +++ b/scripts/containers_version.sh @@ -9,31 +9,40 @@ else fi appnames=$(ls StackHub/apps/roles |grep -v Template |grep -v README.md |grep -v role) +# 匹配成功的APP集合字符串 +initdata="" + # get all of the running container's information( containername and imagename) for appinfo in $(docker ps --format '{{.Names}}%{{.Image}}'); do containername=$(echo $appinfo |awk -F"%" '{print $1}') imagename=$(echo $appinfo |awk -F"%" '{print $2}') - for appname in $appnames; do - + for appname in $appnames; do + # app的版本已经输出 + if [[ $initdata =~ $appname ]];then + break + fi if [[ $containername == $appname ]];then - echo "$appname和$containername容器匹配成功" + echo "$containername容器匹配成功app:$appname" wget -O /tmp/$appname_get_version.sh https://raw.githubusercontent.com/Websoft9/docker-$appname/main/src/get_version.sh bash /tmp/$appname_get_version.sh $containername + initdata=$initdata$appname break elif [[ $imagename =~ $appname ]];then tmpvar="-" if [[ $containername =~ $tmpvar ]];then - echo "$appname和$imagename镜像匹配成功" + echo "$imagename=镜像匹配成功app:$appname" wget -O /tmp/$appname_get_version.sh https://raw.githubusercontent.com/Websoft9/docker-$appname/main/src/get_version.sh bash /tmp/$appname_get_version.sh $containername + appnames=(${appnames[*]/$appname}) + initdata=$initdata$appname break else echo "need other mothod " fi else - echo "$appname和容器镜像均未匹配成功" + echo "容器镜像均未匹配成功app:$appname" fi done done