expr 是一个用于求值表达式的命令,它主要用于整数运算。它的基本用法是 expr expression,其中 expression 可以是算术运算、字符串操作等。expr 要求其参数必须是整数或能够进行整数运算的表达式。 检查提供给expr命令的参数: 当遇到 "non-integer argument" 错误时,你需要检查传递给 expr 的所有参数。确保
由于expr在进行算术运算时,首先会将操作符两边的参数转换为整数,任意一端转换失败都将会报错,所以可以用来判断参数或变量是否为整数。 [root@xuexi ~]# expr $a + $c expr: non-integer argument [root@xuexi ~]# if [ $? != 0 ];then echo '$a or $c is non-integer';fi $a or $c is non-...
[root@xuexi ~]# expr 4+$a 4+3 [root@xuexi ~]# expr 4 +$a expr: syntax error 由于expr在进行算术运算时,首先会将操作符两边的参数转换为整数,任意一端转换失败都将会报错,所以可以用来判断参数或变量是否为整数。 [root@xuexi ~]# expr $a + $c expr: non-integer argument [root@xuexi ~]#...
方式三:expr [root@m01 ~]# expr 1+21+2[root@m01 ~]# expr 1 + 23[root@m01 ~]# expr 1 / 20[root@m01 ~]# expr 1.1 / 2expr: non-integer argument 需要加空格,也不支持浮点型 方式四:bc Linux下的一个计算器程序,可以处理整数和小数。Shell 本身只支持整数运算,想计算小数就得使用 bc 这...
shell脚本如何判断两个整数数大小,且判断输入的是不是一个整数,要注意:对于=<>要在[[]]或者(())双层里面用,-ne-eq-lt用在[]和()单个里面且-ne-eq-lt等等只能比较两个整数。expr也只能计算整数,当expr报错expr:non-integerargument,就需要看看他计算的数值是都全部为整
。比较两个数的大小建议使用expr。用$(())有时间会报错。 练习: 提示用户输入一个整数num然后计算1+2+3+...+num的值,必须对num是否为正整数做判断,不符合则继续让用户输入。 #!/bin/bash while true do read-p "input a positive number:" num sum=0 expr $num + 1 &> /dev/null if...
integer:整数 file:文件 3.当expression为真是返回 0(true) ,否则返回 非0(false) command1 && command2 # command2只有在command1的RV为0(true)的条件下执行。 command1 || command2 # command2只有在command1的RV为非0(false)的条件下执行。 4.先替换变量再比较 A=123 [ -n "A" ] && ([ "A"...
warning C4239: nonstandard extension used: 'default argument': conversion from 'BLABLA' to 'BLABLA&' warning C4315 warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead warning C6387: 'fStream' could be '0': this does not adhere to the specifi...
token: keyword variable command command-parameter command-argument-token integer-literal real-literal string-literal type-literal operator-or-punctuator B.1.5 关键字 Syntax keyword: one of begin break catch class continue data define do dynamicparam else elseif end exit filter finally for foreach fro...
linux-zpycfm:/home/test/shell #expr2.3+3.4expr: non-integer argument 运算符号和参数之间要有空格分开; 通配符号(*),在作为乘法运算符时要用\、“”、‘’符号修饰 –:expr 3 \* 2 expr 3 “*” 2 expr 3 ‘*’ 2 `(反引号)与键盘上的~同一个键上的符号...