bash inesperado token luego error

He escrito un script de bash y recibo un error cuando estoy probando una condición de si una variable está vacía o no.

A continuación se muestra un ejemplo de script:

No he mencionado los comandos que se ejecutan para asignar valores a las variables a y fne pero

#! /bin/bash

for f in /path/*
do
    a=`some command output`
    fne=`this command operates on f`
    if[ -z "$a" ]
    then
        echo "nothing found"
    else
        echo "$fne" "$a"
    fi
done

error: error de sintaxis cerca del token inesperado, "entonces".

Probé otra variación como esta:

#! /bin/bash

for f in /path/*
do
    a=`some command output`
    fne=`this command operates on f`
    if[ -z "$a" ]; then
        echo "nothing found"
    else
        echo "$fne" "$a"
    fi
done

otra vez el mismo error.

cuando intento comparar de esta manera:

if[ "$a" == "" ]; then

otra vez el mismo error.

No estoy seguro de cuál es la razón del error. El valor de la variable a es así:

Algo con eso (1): [x, y]

Contiene, espacios, corchetes, coma, dos puntos. Estoy adjuntando el nombre de la variable entre comillas dobles en comparación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta