product=$(expr $i * $j) 为啥不能怎么写
时间: 2024-05-30 20:12:20 浏览: 100
在 Bash shell 中,$(expr $i * $j) 会被解释为执行 expr 命令来计算 $i 和 $j 的乘积。然而,如果 $i 和 $j 中有一个或两个是空值或者非数字字符串,在这种情况下,expr 命令会返回一个错误,并且可能会导致脚本的其他部分出现问题。
为了避免这种情况,可以将乘法操作符 * 转义为 \*,以确保它被正确地解释为乘法运算符而不是通配符。因此,正确的写法是:product=$((i * j)) 或者 product=$(expr $i \* $j)。
相关问题
product=$(expr $i * $j) 这样写为啥有错误
这个表达式是用来计算两个变量 `$i` 和 `$j` 的乘积,但是写法有误。应该使用`$((expression))`的语法来进行数学表达式的计算,正确的写法是:
```
product=$((i * j))
```
或者使用 `expr` 命令计算乘积,正确的写法是:
```
product=`expr $i \* $j`
```
其中,`\*` 是用来转义乘号 `*` 的,避免被 shell 解析为通配符。
((product=$i*$j))可以用expr写法嘛?怎么写
是的,可以用`expr`命令来进行算术运算。
`expr $i \* $j` 可以计算出$i$和$j$的乘积,并将结果存储在变量`product`中,即:
```
product=`expr $i \* $j`
```
注意,在`expr`命令中,`*`是一个特殊字符,需要使用反斜杠`\`进行转义。
阅读全文