Parece funcionar corretamente. Se eu tentar isso:
string="/opt/directory/"
if [[ $string != *"directory"* ]]; then
echo "true"
else
echo "false"
fi
Em seguida, ele informa corretamente false
. Em outras palavras, a pergunta " faz $string
não conter *"directory"*
" é falso , pois $string
contém *"directory"*
.
Talvez você quisesse perguntar " faz $string
conter *"directory"*
", caso em que você precisa usar:
if [[ $string == *"directory"* ]]
(observe o uso de ==
em vez de !=
.)