[ -f $f ] は [ -f ] と同じ意味になって、
[ コマンドがそれを真とみなすから。