expr只能用于整数值,一般格式为 expr arg1 operator arg2 注意: 1. 运算符左右都有空格,如果没有空格表示是字符串连接 2. 使用乘号时,必须用反斜杠屏蔽其特殊含义。因为shell可能会误解显示星号的意义 expr 30 * 3 3. 如果计算的是非整数,将返回错误。expr: non-numericargument 4. expr默认是直接把运算结果...
运行报错:expr: non-numeric argument,最后各种测试,单独给HIT和MISS赋值,没报错,就是不知道哪里的原因,查看运行详细模式: 仔细一看,后面有"\r",以为是编码的问题 # cat -v 1.sh#!/bin/bashHIT=$(/app/local/redis/bin/redis-cli-h127.0.0.1-p6379info|grep"keyspace_hits"|awk-F':''{print $2}')...
num=0 for i in "$@" <- 你是不是当时打错了 do num=`expr $num + $i`echo $num >> result done
$expr $rr + 1 expr: non-numeric argument $rr=2 $expr $rr + 1 3 (注意:这个例子与原文不同) 这里需要将一个值赋予变量(不管其内容如何),进行数值运算,并将输出导入dev/null, 然后测试最后命令状态,如果为0,证明这是一个数,其他则表明为非数值。 $value=12 $expr $value + 10 > /dev/null 2>...
需要注意的是,运算符左右都需要有空格。如果需要使用乘号,必须使用反斜线屏蔽其特定含义,因为`shell`可能会误解显示星号的意义。 如果试图对非整数值进行计算,`expr`命令会返回错误。例如,将数字1.1赋给变量`rr`,然后使用`expr`命令对其进行加1运算,会得到错误提示`expr: non-numeric argument`。
输出:expr: non-numeric argument “` 这表明`”Hello”`不是一个有效的数字,因此计算失败。 总结起来,`expr`命令在Linux中充当了一个功能强大的工具,可以用于基本数值计算、字符串操作、条件判断和表达式求值。它在命令行环境中非常有用,可以帮助用户执行各种数学和字符串相关的操作。
expr: non-numeric argument expr也可以返回其本身的退出状态,不幸的是返回值与系统最后退出命令刚好相反,成功返回1,任何其他值为无效或错误。下面的例子测试两个字符串是否相等,这里字符串为“hello”和“hello” 。 /home/l/g/tomotoboy >expr $HELLO = "hello" ...
syntax error 运算符和操作数错误。 non-numeric argument 尝试对此字符串执行算术计算。附注以下三个运算符未启用 CSI。这些运算符在 /usr/xpg4/bin/expr 和/usr/xpg6/bin/expr 中也不可用:index string character-list length string substr string integer-1 integer-2...
[root@centos-fuwenchao ~]# rr=3.4[root@centos-fuwenchao ~]# expr $rr + 1expr: non-numeric argument[root@centos-fuwenchao ~]# rr=5[root@centos-fuwenchao ~]# expr $rr + 16[root@centos-fuwenchao ~]# 1. 2. 3. 4. 5.
我有字符串变量MIN和SEC (分钟和秒):SEC="34"TOTSEC = MIN*60 + SECexpr$SEC + $MIN * 60expr: non-numeric argument 请让我们知道,我正在自定义的微型计算机上运行busybox,因此无法访问bash、bc和其他解决方案。 浏览0提问于2018-03-23得票数 1 ...