所以这段代码工作得很好,“$i”用双引号引起来:
for ((i=0; i <= 10; i++)); do
printf '%d\n' "$i"
done
Run Code Online (Sandbox Code Playgroud)
但是,如果我将“$i”放在单引号('$i')中,我只会得到 10 次迭代:
bash: printf: $i: invalid number
0
Run Code Online (Sandbox Code Playgroud)
为什么?这个问题包含一个错误报告,它不像每个人都说的那样具有哲学性。在确定这是一个“糟糕的问题”之前,我无法阅读互联网上的所有内容。