为什么要在expr中用space填充算术运算符?

Why should arithmetic operators be padded by space in expr?

使用 expr 计算 bash 中的表达式,发生以下情况

bash-3.2$ expr 1+1
1+1
bash-3.2$ expr 1 + 1
2

为什么要将加号补上 space 才能解释为数学运算?

我怀疑这与 bash 关系不大。来自 expr 的手册页:

All operators and operands must be passed as separate arguments

为了将操作数和运算符解释为单独的参数,您必须将它们分开(使用 space)。