Code:
#!/bin/bash
shopt -s extglob
case $1 in
foo-@([0-9]|[0-9][0-9]))
echo foo
;;
*) # default
echo bar
;;
esac
Die patterns für die cases verwenden Pathname Extension (*, ?, [...]) und nicht regex. Mit der shell option extglob werden verschiedene Kombinationsmöglichkeiten aktiviert (siehe man bash). Eine davon ist @(pattern1|pattern2|...) wobei eines der gelisteten Patterns matchen muss, damit der ganze Ausdruck matcht.
Code:
simon@gryphon:~ $ ./case-test.sh foo-1
foo
simon@gryphon:~ $ ./case-test.sh foo-99
foo
simon@gryphon:~ $ ./case-test.sh foo-2-bla
bar
HTH jeebee
Lesezeichen