Bash의 하위 문자열: 와일드카드 사용 - 변수 순서가 필수인 이유는 무엇입니까?

Bash의 하위 문자열: 와일드카드 사용 - 변수 순서가 필수인 이유는 무엇입니까?

나는 함께 일하고 있다Bash의 하위 문자열- 와일드카드 사용 -

다음과 같은:

if [[ "$LIST" == *"$SOURCE"* ]]

잘 작동합니다.

하지만 그냥 장난치는 것 뿐이야 (역방향)

if [[ *"$SOURCE"* == "$LIST" ]]

작동하지 않습니다

그렇다면 왜 *"$SOURCE"*오른쪽에 선언되어야 합니까? 다른 LP에서는 ==언제 사용해도 순서는 중요하지 않습니다.

답변1

사용할 때==운영자,

연산자 오른쪽의 문자열은 패턴으로 처리됩니다.

...따라서 *와일드카드를 사용하면 작동합니다. 그러나 피연산자를 바꾸면 *일치시키려는 문자열의 일부가 되지만 이는 원하는 것이 아닙니다.

관련 정보