Please copy the following to a file test.sh

************************************************************
#!/bin/bash

rx='(wlan)(1)'
if [[ 'wlan1' =~ $rx ]]; then
    echo 'if returned 0'
    echo ${BASH_REMATCH[0]}
    echo ${BASH_REMATCH[1]}
    echo ${BASH_REMATCH[2]}
    echo ${#BASH_REMATCH}
    echo ${#BASH_REMATCH[0]}
    echo ${#BASH_REMATCH[1]}
    echo ${#BASH_REMATCH[2]}
    echo 'yet ${BASH_REMATCH} is empty when run using bashdb'
fi
*************************************************************
and then run
>chmod a+x test.sh
>./test.sh
and see the output as expected

*************************************************************
if returned 0
wlan1
wlan
1
5
5
4
1
yet ${BASH_REMATCH} is empty when run using bashdb
> 
*************************************************************

next, please run
>bashdb test.sh
bashdb<0> n
bashdb<1> n
bashdb<2> n
bashdb<3> print ${BASH_REMATCH[0]}

and you will see that in bashdb BASH_REMATCH is an empty string. It appears the 
debugger is broken and has probably been so for some time. Could I be doing 
something wrong?

Reply via email to