Loading... 你的 Bash shell `case` 语句的用法是正确的。你正在检查变量 `$local_arch` 是否等于 `"arm"`。如果是,那么你进一步检查 `$tag` 是否包含 `"windows"`。如果包含,你将输出一条消息并跳过当前循环。 这是一个高效的方式来根据不同的变量值执行不同的操作。然而,你需要确保 `case` 语句在一个循环中,否则 `continue` 语句将没有效果,因为 `continue` 是用来跳过当前循环的剩余部分,并开始下一次循环。 如果你只有一个 `case`,你可能需要添加更多的条件,例如: ```bash case $local_arch in "arm" ) if [ $(echo $tag | grep windows | wc -l) -eq 1 ]; then echo "我是arm,但是这个镜像的tag是windows,跳过" continue fi ;; "x86" ) # 处理 x86 的情况 ;; * ) # 默认情况 ;; esac ``` 在这个示例中,`;;` 表示每个 `case` 的结束。`*` 是一个默认情况,当 `$local_arch` 不是 `"arm"` 或 `"x86"` 时将被执行。 最后修改:2024 年 05 月 11 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏