Bash - [[ =~ ]] 표현식에서 h[aeiou]는 무엇을 합니까?

Bash - [[ =~ ]] 표현식에서 h[aeiou]는 무엇을 합니까?

저는 유닉스를 처음 접했고 bash 언어를 배우려고 노력 중입니다. "Test Expressions"에 들어갔을 때 다음을 발견했습니다.

[[ "whatever" =~ h[aeiou] ]]

답변을 읽었습니다.이 문제, 그래서 =~ 연산자가 무엇을 하는지 이해합니다. 이전 명령을 실행한 후에는 조건이 충족되었음을 나타내는 출력이 표시 echo $?됩니다 . 내가 들어가면0[[ ]]

[[ "whatever" =~ h[sdfghjkl] ]]

의 출력은 echo $?이므로 1조건이 충족되지 않습니다.

그래서 나는 h[aeiou]무엇이 무엇인지 알고 싶습니다 h[sdfghjkl]. 표현식에 h미리 정의된 함수 가 있나요 [[ ]]? 그렇다면 무엇을 하고 있나요? 그렇지 않다면 h[aeiou]실제로 h{sdfghjkl]는 무엇입니까?

감사해요.

답변1

다른 문서인 패턴 일치에서 언급했듯이 =~오른쪽 피연산자는 정규식(regex)입니다.

괄호는 h[aeiou]정규식 구문의 일부이며 거기에는 명명된 함수가 없습니다. h[aeiou]는 와 일치하고 h는 다음 중 하나와 일치하므로 aeiou와 뒤에 가 whatever있으므로 일치합니다 .ha

정규식에 대해 들을 수 있으므로 자세히 살펴보는 것이 좋습니다.

(위키피디아 페이지에도 공식적인 내용이 포함되어 있는 것 같으니 너무 얽매이지 마세요.)

관련 정보