[unix] 조건 정규식 오류

string=123456

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

이것은 잘 작동하지만 ==에서 = ~로 변경하면이 오류가 발생합니다.

./test: line 3: [: =~: binary operator expected



답변

Bash 정규식 일치는 이중 대괄호 내에서만 작동합니다[[ ... ]].

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


답변