Shell 用于测试数字是否在间隔内的脚本

Shell 用于测试数字是否在间隔内的脚本,shell,Shell,我试图测试一个数字是否在区间[1;100]以下是我所做的: var=10 if [ $["$var" -gt "1" ] -a $["$var" -lt "100"] ] ; then echo "yes" else echo "no" fi 但是,当我运行脚本时,会收到错误消息: /yourscript:line210GT1:expression中的错误语法,有什么想法吗?删除不必要的内容并使用&&: var=10 i

我试图测试一个数字是否在区间[1;100]以下是我所做的:

   var=10
   if [ $["$var" -gt "1" ] -a $["$var" -lt "100"] ] ; then
            echo "yes"
   else
            echo "no"
    fi
但是,当我运行脚本时,会收到错误消息:
/yourscript:line210GT1:expression中的错误语法,有什么想法吗?

删除不必要的内容并使用
&&

var=10
if [ $var -gt 1 ] && [ $var -lt 100 ] ; then #or with -a if [ $var -gt 1 -a $var -lt 100 ] ;
   echo "yes"
else
   echo "no"
fi

没有什么。仅当使用&&时,语法必须为:[condition]&&&[condition]。如果你想使用-a,它将是这样的:如果[$var-gt 1-a$var-lt 100];