"변수에 포함되지 않은 경우"가 작동하지 않습니다.

"변수에 포함되지 않은 경우"가 작동하지 않습니다.

이건 내 스크립트야

if [[ ! $url == *.txt ]]
then
exit
fi

나는 또한 다음을 시도했습니다.

if [[ ! "$url" == *.txt ]]
then
exit
fi

그리고:

if [[ "$url" !== *.txt ]]
then
exit
fi

하지만 $url포함되어 있어도 *.txt여전히 exit포함됩니까?

답변1

부등식에 대한 올바른 연산자는 입니다 !=. 아래를 참조하세요:

url=/heads/paths/lol.txt
if [[ $url != *.txt ]] ; then echo "does not contain txt"; else echo "contains txt"; fi

그것은 다음을 제공합니다:

contains txt

인용하다:http://tldp.org/LDP/abs/html/comparison-ops.html

답변2

다음을 수행해야 합니다.

[ -n "${url%%*.txt}" ] && 
echo "\$url is not null and does not end with the string '.txt'"

관련 정보