Bash 有人能解释一下这个控制结构吗?

Bash 有人能解释一下这个控制结构吗?,bash,while-loop,Bash,While Loop,谁能解释一下为什么在((number+=1))中不需要$?当您将shell算法与(…)一起使用时,变量前的$是可选的。因为这只是用于算术,所以不允许使用字符串,所以任何非数字或运算符的无引号标记都被视为变量。Bash手册中关于的章节解释了: Shell变量允许作为操作数;在计算表达式之前执行参数扩展。在表达式中,shell变量也可以通过名称引用,而不使用参数扩展语法 你不明白哪一部分?循环得到的时候,它就像一样简单。只要用英语读一下,它就完全按照上面说的做了。**((number+=1))**这

谁能解释一下为什么在
((number+=1))
中不需要
$

当您将shell算法与
(…)
一起使用时,变量前的
$
是可选的。因为这只是用于算术,所以不允许使用字符串,所以任何非数字或运算符的无引号标记都被视为变量。Bash手册中关于的章节解释了:

Shell变量允许作为操作数;在计算表达式之前执行参数扩展。在表达式中,shell变量也可以通过名称引用,而不使用参数扩展语法


你不明白哪一部分?循环得到的时候,它就像
一样简单。只要用英语读一下,它就完全按照上面说的做了。**((number+=1))**这就是为什么数字不是用$Inside给出的原因
(…)
它会自动识别变量。From:在表达式中,shell变量也可以通过名称引用,而不使用参数扩展语法。
#!/bin/bash
number=0
while [ "$number" -lt 10 ]
do
    echo -n "$number"
    ((number +=1))
done
echo