当前位置: 首页 > 知识库问答 >
问题:

bash脚本中if条件的无效算术运算符[重复]

罗绪
2023-03-14

我试过:

if [[ ${numbers[4]} -ge $best_res ]]; then
                             ...
fi 

如果条件行出现以下错误:

7 ./q1.sh: line 58: [[: 0.346: syntax error: invalid arithmetic operator (error token is ".346")

也有类似的问题,但我的错误是“如果”条件。我如何用“bc”或“dc”来修复它?

共有1个答案

澹台华晖
2023-03-14

问题是bash不支持浮点运算,这是您的一个变量所具有的。

下面是一个简单的例子:

$ [[ 0.346 -ge 0 ]] && echo "true"
bash: [[: 0.346: syntax error: invalid arithmetic operator (error token is ".346")

您必须使用诸如bcdc等外部工具。

 类似资料:
  • 问题内容: 给定以下JavaScript“类”定义,这是我想到此问题的最佳方式: 以及以下测试设置代码: 有什么方法可以使用加法运算符隐式创建为对象,如下所示… 而不是求助于… 如果不是,那么在此领域中关于通过算术运算符使自定义数字JavaScript对象可组合的最佳实践建议是什么? 问题答案: 据我所知,JavaScript(至少现在已经存在)不支持运算符重载。 我能建议的最好的方法是使用一个类

  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,覆盖了所有主要的运算。 概述 JavaScript 共提供10个算术运算符,用来完成基本的算术运算。 加法运算符:x + y 减法运算符: x - y 乘法运算符: x * y 除法运算符:x / y 指数运算符:x ** y 余数运算符:x % y 自增运算符:++x 或者 x++ 自减运算符:--x

  • 算术运算符是 SQL 中最基本的运算符, MySQL 支持的运算符包括加、减、乘、除和取余运算,它们是最常用、最简单的一类运算符。下表列出了这些运算符的作用和使用方法。 MySQL中的算术运算符 运算符 作用 使用方法 + 加法运算 用于获得一个或多个值的和 - 减法运算 用于从一个值中减去另一个值 * 乘法运算 使数字相乘,得到两个或多个值的乘积 / 除法运算,返回商 用一个值除以另一个值得到商

  • 主要内容:+ 加法运算符,- 减法运算符,*乘法运算符,/ 和 // 除法运算符,% 求余运算符,** 次方(乘方)运算符算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了 Python 支持所有基本算术运算符。 表 1 Python 常用算术运算符 运算符 说明 实例 结果 + 加 12.45 + 15 27.45 - 减 4.56 - 0.26 4.3 * 乘 5 * 3.6 18.0 / 除法(和数学中的规则一样) 7 / 2 3.5 // 整除(只保留商的整数部分

  • 主要内容:一元运算符,二元运算符,算术赋值运算符运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。 Java 语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进行运算还是自右向左进行运算。这些 运算符按照操作数的数量可以分为单目运算符、双目运算符和三目运算符。 最基本的运算符包

  • EL中的算术运算符用于对整数和浮点数进行算述运算。算术运算符有5种,包括+、-、*、/(div)和%(mod),分别对应于加、减、乘、除和取余(也可以称为取模)5种运算。其中“-”既可以用作减号,也可以用作负号;“/”和“div”在进行除法运算时,无论操作数是整数,还是浮点数,运算结果都是浮点点。在使用算术运算符时应注意以下几点: l 对于这5种算术运算符,如果两个操作数都是null,则运算结果为