You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用expr进行小数乘法?执行expr 1.2 * 13报错的语法问题

问题分析与解决:expr 1.2 * 13 执行报错

你的命令报错主要有两个原因:

  • 通配符被shell展开,导致参数混乱
    在shell环境中,*是通配符,会匹配当前目录下所有非隐藏文件名。如果你的当前目录存在名为12的文件,*会被自动替换成这个文件名,实际执行的命令就变成了expr 1.2 12 13,完全不符合expr的运算语法,因此触发syntax error。
    解决这个问题需要对*进行转义,要么加反斜杠写成\*,要么用单引号包裹运算符:'*'。

  • expr不支持浮点数运算
    即使解决了通配符的问题,expr本身仅支持整数运算,无法处理1.2这类浮点数,执行后依然会报错。如果需要进行浮点数乘法运算,推荐使用bc或awk工具:

    • 使用bc的示例:echo "1.2 * 13" | bc -l
    • 使用awk的示例:awk 'BEGIN{print 1.2 * 13}'

内容的提问来源于stack exchange,提问作者Allan Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 07:05:43