bash непонятное поведения if-then
Есть код:
if [[ ! -f file1 ]];
then
echo "0" > /tmp/file1;
echo "check 1";
fi;
При запуске скрипта печатается:
check 1
При проверке условия:
[[ ! -f file1 ]]
echo $?
В консоль печатается 0. Но раз условие 0, то блок then не должен срабатывать? Почему он срабатывает?