“Se a variável não contiver” não funcionar

2

Este é o meu script

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

Eu também tentei:

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

e:

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

Mas mesmo que $url contenha *.txt , ainda exit s?

    
por DisplayName 07.12.2014 / 23:22

2 respostas

2

O operador correto para desigualdade é != . Veja abaixo:

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

Dá:

contains txt

ref: link

    
por 07.12.2014 / 23:34
0

Você deve fazer isso:

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

Tags