diff --git a/pages/common/case.md b/pages/common/case.md index 7a27af1caa..817cf6a47f 100644 --- a/pages/common/case.md +++ b/pages/common/case.md @@ -5,8 +5,16 @@ - Match a variable against string literals to decide which command to run: -`case {{$tocount}} in {{words}}) {{wc -w README}}; ;; {{lines}}) {{wc -l README}}; ;; esac` +`case {{$COUNTRULE}} in {{words}}) {{wc -w README}} ;; {{lines}}) {{wc -l README}} ;; esac` - Combine patterns with |, use * as a fallback pattern: -`case {{$tocount}} in {{[wW]|words}}) {{wc -w README}}; ;; {{[lL]|lines}}) {{wc -l README}}; ;; *) {{echo "what?"}}; ;; esac` +`case {{$COUNTRULE}} in {{[wW]|words}}) {{wc -w README}} ;; {{[lL]|lines}}) {{wc -l README}} ;; *) {{echo "what?"}}; ;; esac` + +- Allow matching multiple patterns: + +`case {{$ANIMAL}} in {{cat}}) echo "It's a cat" ;;& {{cat|dog}}) echo "It's a cat or a dog" ;;& *) echo "Fallback" ;; esac` + +- Continue to the next pattern's commands without checking the pattern: + +`case {{$ANIMAL}} in {{cat}}) echo "It's a cat" ;& {{dog}}) echo "It's either a dog or cat fell through" ;& *) echo "Fallback" ;; esac`