ksh-compat-test   [plain text]


#
# replacements for test/[ that do arithmetic expansion on the operands to
# the arithmetic operators, like ksh.
#
function test()
{
        local -i n1 n3
        case "$#" in
        3)      case "$2" in
                -lt|-gt|-eq|-ne|-le|-ge)        n1=$(( $1 ))
                                                n3=$(( $3 ))
                                                builtin test "$n1" $2 "$n3"
                                                return $?;;
                *)      builtin test "$@" ;;
                esac;;                                                          
        *)      builtin test "$@" ;;
        esac
}

function [()
{
        local -i n1 n3
        case "$#" in
        4)      case "$2" in
                -lt|-gt|-eq|-ne|-le|-ge)        n1=$(( $1 ))
                                                n3=$(( $3 ))
                                                builtin [ "$n1" $2 "$n3" ]
                                                return $?;;
                *)      builtin [ "$@" ;;
                esac;;                                                          
        *)      builtin [ "$@" ;;
        esac
}

q=7

[ q -lt 10 ]
echo $?
[ $q -lt 10 ]
echo $?