shell之while read

最近遇到kubectl get deployment资源,然后放入for循环里,发现拿出来的是以\n换行分隔的,没有逐行获取,于是百度发现while read可以逐行获取

export cangku='ccr.ccs.tencentyun.com/liweilun';
kubectl get clonesets.apps.kruise.io |grep ^copwa|awk {print\ \$1}|while read i;
do skopeo inspect docker://"$cangku"/"$i"|grep Digest|grep -oiE "sha256:(.+?)"|tr -d \"|tr -d \,|xargs -i sed -i "s#"$cangku"/"$i"\(.*\)#"$cangku"/"$i"@{}#g" "$i".yaml;
kubectl apply -f "$i".yaml;
done
crictl images|grep none|awk '{print $3}'|xargs -i crictl rmi {};

while read 后面接变量名称就可以逐行获取值

你可能感兴趣的:(笔记)