请告诉我,有必要使用"expr"关键字.
例如:-
echo `expr a*b`
Run Code Online (Sandbox Code Playgroud)
我们可以使用简单的算术运算符简单地处理算术表达式.
例如:-
echo a*b
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Dig*_*oss 14
在Posix shell中,您可以在括起来时直接在shell中计算表达式
$(( ... ))
Run Code Online (Sandbox Code Playgroud)
所以:
a=12
b=34
echo $(($a + $b))
Run Code Online (Sandbox Code Playgroud)
虽然情况并非总是如此,但您可能遇到的所有Posix外壳也将处理:
echo $((a + b))
Run Code Online (Sandbox Code Playgroud)
这一切都发生了,因为很久以前,shell没有算术,因此expr编写了外部程序.这些天,expr通常是内置的(除了仍然在/ bin中)并且有$((...))可用的Posix 语法.如果$((...))从第一天开始就没有了expr.
shell不完全是一种普通的计算机语言,而不是一个宏处理器:它是一个CLI.它没有内联表达式; unquoted *是用于文件名匹配的通配符,因为CLI需要更频繁地引用文件而不是算术运算.
第二种形式几乎肯定永远不会做你想要的.在Bash中,您有一个内置的数值表达式处理程序,但是:
A=4; B=6; echo $((A * B))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13436 次 |
| 最近记录: |