1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
shopt -s extglob
[[ ab/../ == @(ab|+([^/]))/..?(/) ]] && echo match 1
[[ ab/../ == +([^/])/..?(/) ]] && echo match 2
[[ ab/../ == @(ab|?b)/..?(/) ]] && echo match 3
[[ ab/../ == +([^/])/../ ]] && echo match 4
[[ ab/../ == +([!/])/..?(/) ]] && echo match 1a
[[ ab/../ == @(ab|+([!/]))/..?(/) ]] && echo match 1b
[[ ab/../ == +([!/])/../ ]] && echo match 2a
[[ ab/../ == +([!/])/..?(/) ]] && echo match 2b
[[ ab/../ == +([!/])/..@(/) ]] && echo match 3a
[[ ab/../ == +(ab)/..?(/) ]] && echo match 3b
[[ ab/../ == [!/][!/]/../ ]] && echo match 4a
[[ ab/../ == @(ab|?b)/..?(/) ]] && echo match 4b
[[ ab/../ == [^/][^/]/../ ]] && echo match 5
[[ ab/../ == ?b/..?(/) ]] && echo match 6
[[ ab/../ == +(?b)/..?(/) ]] && echo match 7
[[ ab/../ == +(?b|?b)/..?(/) ]] && echo match 8
[[ ab/../ == @(?b|?b)/..?(/) ]] && echo match 9
[[ ab/../ == @(a?|?b)/..?(/) ]] && echo match 10
[[ ab/../ == ?(ab)/..?(/) ]] && echo match 11
[[ ab/../ == ?(ab|??)/..?(/) ]] && echo match 12
[[ ab/../ == @(??)/..?(/) ]] && echo match 13
[[ ab/../ == @(??|a*)/..?(/) ]] && echo match 14
[[ ab/../ == @(a*)/..?(/) ]] && echo match 15
[[ ab/../ == +(??)/..?(/) ]] && echo match 16
[[ ab/../ == +(??|a*)/..?(/) ]] && echo match 17
[[ ab/../ == +(a*)/..?(/) ]] && echo match 18
#
j="@(x)" ; [[ x == $j ]] && echo ok 19
|