Linux 为什么算术运算符要在expr中用空格填充?

Linux 为什么算术运算符要在expr中用空格填充?,linux,bash,syntax,expr,Linux,Bash,Syntax,Expr,使用expr在bash中计算表达式时,发生了以下情况 bash-3.2$ expr 1+1 1+1 bash-3.2$ expr 1 + 1 2 为什么要用空格填充加号以将其解释为数学运算?我怀疑这与bash没有什么关系。从expr的手册页: 所有运算符和操作数必须作为单独的参数传递 为了将操作数和运算符解释为单独的参数,必须将它们分开(用空格)。我怀疑这与bash没有什么关系。从expr的手册页: 所有运算符和操作数必须作为单独的参数传递 为了将操作数和运算符解释为单独的参数,必须将它们分开

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

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

为什么要用空格填充加号以将其解释为数学运算?

我怀疑这与bash没有什么关系。从expr的手册页:

所有运算符和操作数必须作为单独的参数传递


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

我怀疑这与bash没有什么关系。从expr的手册页:

所有运算符和操作数必须作为单独的参数传递


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

从文档
中,表达式的每个标记必须是单独的参数。
从文档
中,表达式的每个标记必须是单独的参数。