Hello all :) I'm new to the mailing list. I'm trying to convert the (simplified) code below to a case statement structure: === if [[ $mycase -eq 0 ]]; then echo "mycase is 0" else if [[ $mycase -eq 1 ]]; then echo "mycase is 1" else echo "mycase is 2" fi echo "mycase is 1 or 2" fi === And this is what I got: === case $mycase in 0) echo "mycase is 0" ;; 1) echo "mycase is 1" ;; 2) echo "mycase is 2" esac if [[ $mycase -gt 0 ]] echo "mycase is 1 or 2" === My question is, shouldn't there be a way to do this: === case $mycase in 0) echo "mycase is 0" ;; 1) echo "mycase is 1" ;| 2) echo "mycase is 2" ;| *) echo "mycase is 1 or 2" esac === Note that ";|" provides an OR-like separator (as opposed to the AND-like ";&" separator) that goes through the case statements. However, unlike ";&", it checks $mycase against 1) and 2) instead of blindly executing case statements 1 & 2. Wouldn't this be a good addition to ZSH? It certainly seems more useful than ";&". -- Gerald Lai