Erro de regex de condição

12
string=123456

if [ $string == 123456 ]; then
echo 123
fi

Isso funciona bem, mas se eu alterar == para = ~ eu recebo este erro:

./test: line 3: [: =~: binary operator expected
    
por Lumify 22.10.2017 / 20:25

1 resposta

25

A correspondência regex de Bash funciona apenas em colchetes duplos [[ ... ]] :

string=123456
if [[ "$string" =~ 123456 ]]; then echo 123; fi
123
    
por 22.10.2017 / 20:30