столкнулся с «ожидаемым унарным оператором» в сценарии bash

в моем сценарии bash, у меня есть функция для возврата 0 или 1 (истина или ложь) для более позднего условия основной функции.

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

затем в моей основной функции:

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

однако, когда я запускал этот скрипт, он всегда выдавал сообщение об ошибке "[: function1: ожидается унарный оператор"

кто-нибудь может мне помочь?

12
задан GJ. 14 May 2012 в 15:30
поделиться