Bash 痛击。。。在循环中继续上一项

Bash 痛击。。。在循环中继续上一项,bash,for-loop,Bash,For Loop,我想这样做: #!/bin/bash for var in a b c d e f; do read -n1 $var [[ "${!var}" == "d" ]] && continue the_previous_item echo ${!var} done 但是: 继续只接受整数 continue(AFAIK)没有previows项选项 是否有合适的解决方案/解决方法/黑客方法来实现这一点?不太清楚您期望的是什么行为。这能解决你的问题吗 for v

我想这样做:

#!/bin/bash

for var in a b c d e f; do
    read -n1 $var
    [[ "${!var}" == "d" ]] && continue the_previous_item
    echo ${!var}
done
但是:

  • 继续
    只接受整数
  • continue
    (AFAIK)没有previows项选项

  • 是否有合适的解决方案/解决方法/黑客方法来实现这一点?

    不太清楚您期望的是什么行为。这能解决你的问题吗

    for var in a b c d e f; do
        while [ 1 ]; do
            read -n1 $var
            [[ "${!var}" == "d" ]] && continue
            break
        done
        echo ${!var}
    done
    

    这将创建一个无限循环,只是说。但是,您可以始终将最后一个值存储在单独的变量中……您能用英语而不是伪bash解释您想要什么吗?
    continue
    只需跳到循环的下一个迭代。给它传递一个整数是没有意义的。你能解释一下你想要实现什么吗?@RamboRamon Nesting
    continue 2
    在两个嵌套循环中继续另一个循环。如果要在值(比如:)错误时再次读取该值,只需使用一个包含“read”的“while”循环即可。