| 1 | ## compare_shells: bash
 | 
| 2 | ## oils_failures_allowed: 0
 | 
| 3 | 
 | 
| 4 | # Tests nocasematch matching
 | 
| 5 | 
 | 
| 6 | #### [[ equality matching
 | 
| 7 | shopt -s nocasematch
 | 
| 8 | [[ a == A ]]; echo $?
 | 
| 9 | [[ A == a ]]; echo $?
 | 
| 10 | [[ A == [a] ]]; echo $?
 | 
| 11 | [[ a == [A] ]]; echo $?
 | 
| 12 | ## STDOUT:
 | 
| 13 | 0
 | 
| 14 | 0
 | 
| 15 | 0
 | 
| 16 | 0
 | 
| 17 | ## END
 | 
| 18 | 
 | 
| 19 | #### [[ regex matching
 | 
| 20 | shopt -s nocasematch
 | 
| 21 | [[ a =~ A ]]; echo $?
 | 
| 22 | [[ A =~ a ]]; echo $?
 | 
| 23 | [[ a =~ [A] ]]; echo $?
 | 
| 24 | [[ A =~ [a] ]]; echo $?
 | 
| 25 | ## STDOUT:
 | 
| 26 | 0
 | 
| 27 | 0
 | 
| 28 | 0
 | 
| 29 | 0
 | 
| 30 | ## END
 | 
| 31 | 
 | 
| 32 | #### [ matching
 | 
| 33 | shopt -s nocasematch
 | 
| 34 | [ a = A ]; echo $?
 | 
| 35 | [ A = a ]; echo $?
 | 
| 36 | ## STDOUT:
 | 
| 37 | 1
 | 
| 38 | 1
 | 
| 39 | ## END
 | 
| 40 | 
 | 
| 41 | #### case matching
 | 
| 42 | shopt -s nocasematch
 | 
| 43 | case a in A) echo 0 ;; *) echo 1 ;; esac
 | 
| 44 | case A in a) echo 0 ;; *) echo 1 ;; esac
 | 
| 45 | case a in [A]) echo 0 ;; *) echo 1 ;; esac
 | 
| 46 | case A in [a]) echo 0 ;; *) echo 1 ;; esac
 | 
| 47 | ## STDOUT:
 | 
| 48 | 0
 | 
| 49 | 0
 | 
| 50 | 0
 | 
| 51 | 0
 | 
| 52 | ## END
 | 
| 53 | 
 | 
| 54 | #### file matching
 | 
| 55 | shopt -s nocasematch
 | 
| 56 | touch a B
 | 
| 57 | echo [A] [b]
 | 
| 58 | ## STDOUT:
 | 
| 59 | [A] [b]
 | 
| 60 | ## END
 | 
| 61 | 
 | 
| 62 | #### parameter expansion matching
 | 
| 63 | shopt -s nocasematch
 | 
| 64 | foo=a
 | 
| 65 | bar=A
 | 
| 66 | echo "${foo#A}" "${foo#[A]}"
 | 
| 67 | echo "${bar#a}" "${bar#[a]}"
 | 
| 68 | ## STDOUT:
 | 
| 69 | a a
 | 
| 70 | A A
 | 
| 71 | ## END
 |