http://www.unix.com/shell-programming-scripting/120511-if-clause-problem-err-integer-expression-expected.html
A binary comparison operator compares two variables or quantities. Note that integer and string comparison use a different set of operators. integer comparison -eq is equal to if [ "$a" -eq "$b" ] -ne is not equal to if [ "$a" -ne "$b" ] -gt is greater than if [ "$a" -gt "$b" ] -ge is greater than or equal to if [ "$a" -ge "$b" ] -lt is less than if [ "$a" -lt "$b" ] -le is less than or equal to if [ "$a" -le "$b" ] < is less than (within double parentheses) (("$a" < "$b")) <= is less than or equal to (within double parentheses) (("$a" <= "$b")) > is greater than (within double parentheses) (("$a" > "$b")) >= is greater than or equal to (within double parentheses) (("$a" >= "$b")) string comparison = is equal to if [ "$a" = "$b" ] == is equal to if [ "$a" == "$b" ] != is not equal to if [ "$a" != "$b" ] This operator uses pattern matching within a [[ ... ]] construct. < is less than, in ASCII alphabetical order if [[ "$a" < "$b" ]] if [ "$a" /< "$b" ] Note that the "<" needs to be escaped within a [ ] construct. > is greater than, in ASCII alphabetical order if [[ "$a" > "$b" ]] if [ "$a" /> "$b" ] Note that the ">" needs to be escaped within a [ ] construct. in conclusion (using bash or ksh shells) :- you are testing 2 numerical variables (numbers) you have to use the first kind of operators (-eq) not the string operator you can use the string operator in double parentheses ( [[..]] ) so use [[ "$rcInPAudit" = "$rcInP" ]] or [ "$rcInPAudit" -eq "$rcInP" ] to eliminate the error.
Comparison operator in shell
最新推荐文章于 2025-12-31 16:39:17 发布
本文详细介绍了Shell脚本中用于整数和字符串比较的运算符。包括-eq(等于)、-ne(不等于)、-gt(大于)、-ge(大于等于)、-lt(小于)、-le(小于等于),以及在双括号内使用的比较运算符。同时对比了使用方括号和双中括号进行字符串比较的区别。
1913

被折叠的 条评论
为什么被折叠?



