=~ 연산자와 함께 사용할 수 있는 RE는 무엇입니까?

=~ 연산자와 함께 사용할 수 있는 RE는 무엇입니까?

이것매뉴얼 페이지bash운영자님이 이런 말씀을 하십니다 =~.

== 및 !=와 우선순위가 동일한 추가 이항 연산자 =~를 사용할 수도 있습니다. 사용되면 연산자 오른쪽에 있는 문자열은 확장 정규식으로 처리되어 그에 따라 일치됩니다(예:정규식(3))

그러나 사소한 RE조차도 작동하지 않는 것 같습니다. 내 사용 사례는 다음과 같습니다.

n='hello'
[[ "$n" =~ 'llo' ]] && echo yes || echo no   # <-- yes
[[ "$n" =~ 'llo$' ]] && echo yes || echo no  # <-- no

이것이 $EOL에 대한 표준 RE 측정항목인데 두 번째 비교에서 "아니요"를 반환하는 이유는 무엇입니까?

답변1

매뉴얼 페이지를주의 깊게 읽지 않았으며 다음과 같이 적혀 있습니다.

패턴의 모든 부분을 인용하여 인용된 부분을 문자열로 일치시킬 수 있습니다.

따라서 $문자열에서 는 문자열의 끝이 아닌 문자 그대로의 달러 기호를 의미합니다. 문자열에서 이동하여 $작동하게 합니다.

$ [[ "$n" =~ 'llo'$ ]] && echo yes || echo no
yes

관련 정보