spotkać „oczekiwanego operatora unarnego” w skrypcie bash

w moim skrypcie bash mam funkcję zwracającą 0 lub 1 (prawda lub fałsz) dla późniejszego warunku głównej funkcji.

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

potem w mojej głównej funkcji:

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

jednak gdy uruchomiłem ten skrypt, zawsze wyświetlał mi się komunikat o błędzie „[: funkcja1: oczekiwany operator unarny”

czy ktoś może mi pomóc?

questionAnswers(1)

yourAnswerToTheQuestion