Encuentro "operador unario esperado" en script bash

en mi script bash, tengo una función para devolver 0 o 1 (verdadero o falso) para la condición de la función principal posterior.

function1 () { 
    if [[ "${1}" =~ "^ ...some regexp... $" ]] ; then
        return 1
    else
        return 0
    fi 
}

Luego en mi función principal:

main () { 
    for arg in ${@} ; do
        if [ function1 ${arg} ] ; then
            ...
        elif [ ... ] ; then
            ...
        fi
    done
}

sin embargo, cuando ejecuté este script, siempre me dio un mensaje de error "[: function1: operador unario esperado"

¿Alguien puede ayudarme por favor?

Respuestas a la pregunta(1)

Su respuesta a la pregunta