shell 变量的数值计算实践 expr
发布时间:2020-12-15 23:24:06 所属栏目:安全 来源:网络整理
导读:? ? expr(evaluate(求值)expressions(表达式))命令既可以用于整数运算,也可以用于相关字符串长度、匹配等的运算处理 ? expr 用做计算 必须有一个空格才会计算 [[email?protected] 192 sh1]# expr 1 + 1 2 [[email?protected] -minion- 192 sh1]# expr
? ? expr(evaluate(求值)expressions(表达式))命令既可以用于整数运算,也可以用于相关字符串长度、匹配等的运算处理 ? expr 用做计算 必须有一个空格才会计算 [[email?protected]192 sh1]# expr 1 + 1 2 [[email?protected]-minion-192 sh1]# expr 1 + 1 2 ? 没有空格不计算 [[email?protected]192 sh1]# expr 1+1 1+1 ? 有变量的计算 [[email?protected]192 sh1]# i=8 [[email?protected]-minion-192 sh1]# expr $i + 1 9 ? expr在Shell中可配合变量进行计算,但需要用反引号将计算表达式括起来。 ? [[email?protected]192 sh1]# i=5 [[email?protected]-minion-192 sh1]# e=`expr $i + 2` [[email?protected]-minion-192 sh1]# echo $e 7 ? ? 通过expr判断变量或字符串是否为整数 [[email?protected]192 sh1]# i=5 [[email?protected]-minion-192 sh1]# expr $i + 6 &>/dev/null #<==把i和整数相加,&>/dev/null 表示不保留任何输出。 [[email?protected]-minion-192 sh1]# echo $? #<==输出返回值。 0 [[email?protected]-minion-192 sh1]# i=mike [[email?protected]-minion-192 sh1]# expr $i + 6 &>/dev/null <==同样把i和整数相加,不保留任何输出。 [[email?protected]-minion-192 sh1]# echo $? 2 #<==返回为非0,则证明i的值不是整数,因为赋值的是mike ? 结论:利用expr做计算,将一个未知的变量和一个已知的整数相加,看返回值是否为0, 如果为0就认为做加法的变量为整数,否则就不是整数 ? 利用expr计算字符串的长度 [[email?protected]192 sh1]# char="mike" [[email?protected]-minion-192 sh1]# expr length "$char" #<==利用expr的length函数计算字符 串长度。 4 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |