请告诉我是否有必要使用"expr"关键字。
例如:
echo `expr a*b`
我们可以使用简单的算术运算符来处理算术表达式。
例如:
echo a*b
提前感谢您。
请告诉我是否有必要使用"expr"关键字。
例如:
echo `expr a*b`
我们可以使用简单的算术运算符来处理算术表达式。
例如:
echo a*b
提前感谢您。
$(( ... ))
所以:
a=12
b=34
echo $(($a + $b))
虽然这不是永远的情况,但你可能会遇到的所有Posix shell也会处理以下内容:
echo $((a + b))
这一切都是因为很久以前,shell不支持算术运算,所以就写了外部程序expr
。如今,expr
通常是内置的(除了/bin里还有),并且有Posix的$((...))
语法可用。如果从一开始就有$((...))
,就不会有expr
了。
Shell不完全是一种普通的计算机语言,也不完全是一个宏处理器:它是一个CLI。它不执行内嵌表达式;未加引号的*
是用于文件名匹配的通配符,因为CLI更常需要引用文件而不是进行算术运算。
A=4; B=6; echo $((A * B))
您可以使用$(())
进行算术运算。
echo $((2*3))
结果为6