[ "${line:0:1}" == "#" -a -z "$line" ] && continue should be [ "${line:0:1}" == "#" -o -z "$line" ] && continue