for循环中的算术表达式

for循环中的算术表达式

for (( expr1 ; expr2 ; expr3 )) ; do commands ; done

expr1expr2、 和expr3是算术表达式。

  • 不是expr1 ; expr2 ; expr3算术表达式吗?(( expr1 ; expr2 ; expr3 ))不是一个独立的命令,所以我猜expr1 ; expr2 ; expr3不是一个算术表达式。注意这expr1, expr2, expr3是一个算术表达式。

  • for 循环中的((and与命令中的and不同吗?))(())(( 3 ))

  • 只有在for循环中才有(( expr1 ; expr2 ; expr3 ))意义吗?或者还有其他什么地方?

答案1

expr1; expr2; expr3不是算术表达式,因为;不是算术表达式中可能的运算符,正如您可以通过阅读bash 手册中算术表达式的语法

for循环的语法给出形式, 带分号.所以这个位与一个不一样for ((expr1; expr2; expr3)) ; do commands ; done((…))算术指令,不以 开头for

((expr1; expr2; expr3))是的一部分for循环的语法。它只是 后的一个有效语法单元for

相关内容