Файл не проверен. [
интерпретирует свои аргументы на основе числа аргументов, которые он получает (игнорируя ]
).
В этом случае, только один аргумент, -f
не является унарным оператором;это просто непустая строка. Это означает, что он эквивалентен [ -n -f ]
, что успешно, потому что аргумент унарного оператора -n
действительно не пустой.