> Does anyone know why > > $ (ksh93 "mode='[[ "hello" == ~(E).*hello ]] && echo 'bar'") > bar > > works but > > $ (ksh93 "mode='~(E)' ; [[ "hello" == ${mode}.*hello ]] && echo 'bar'") > > does not produce a match?
I'd guess it's part of the shell syntax, and not evaluated as part of the pattern value (i.e. unlike regexp \< and \>). Janis