while read line;
do
echo "zip -r ${line////-}.zip $line";
# zip -r "${line////-}.zip" "$line"
done <<< "$(find data -maxdepth 3 -mindepth 2 -type d)"
Redirect the result of a find command into a while loop. The find command searches the directory data for directories only, searching 3 directories deep only. In the while loop with use bash expansion to convert all forward slashes to "-" and add ".zip" in such a way that we can build a zip command on each directory. Once you are happy that the zip command looks fine when echoed for each directory, comment in the actual zip command
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…