# # 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 $?