53 lines
1,006 B
Text
53 lines
1,006 B
Text
case foo in
|
|
bar) echo skip ;;
|
|
foo) echo fallthrough ;&
|
|
bax) echo to here ;&
|
|
qux) echo and here;;
|
|
fop) echo but not here;;
|
|
esac
|
|
|
|
case foobar in
|
|
bar) echo skip ;;
|
|
foo*) echo retest ;;&
|
|
*bar) echo and match ;;&
|
|
qux) echo but not this ;;
|
|
esac
|
|
|
|
case a in
|
|
a) echo no more clauses;&
|
|
esac
|
|
|
|
x=0 y=1
|
|
case 1 in
|
|
$((y=0)) ) ;;
|
|
$((x=1)) ) ;&
|
|
$((x=2)) ) echo $x.$y ;;
|
|
esac
|
|
|
|
unset x
|
|
readonly xx=1
|
|
case 1 in $((xx++)) ) echo hi1 ;; *) echo hi2; esac
|
|
echo ${xx}.$?
|
|
|
|
unset var empty
|
|
|
|
var=
|
|
case ']' in
|
|
[$var]*[$var]) echo matches 1;;
|
|
*) echo no match 1 ;;
|
|
esac
|
|
|
|
case abc in ( [] ) echo yes ;; ( * ) echo no ;; esac
|
|
empty=''
|
|
case abc in ( ["$empty"] ) echo yes ;; ( * ) echo no ;; esac
|
|
|
|
case abc in ( [] | [!a-z]* ) echo yes ;; ( * ) echo no ;; esac
|
|
empty=''
|
|
case abc in ( ["$empty"] | [!a-z]* ) echo yes ;; ( * ) echo no ;; esac
|
|
|
|
case abc in (["$empty"]|[!a-z]*) echo yes ;; (*) echo no ;; esac
|
|
|
|
case " " in ( [" "] ) echo ok;; ( * ) echo no;; esac
|
|
|
|
# tests of quote removal and pattern matching
|
|
${THIS_SH} ./case1.sub
|