【发布时间】:2021-08-25 01:33:50
【问题描述】:
见过有人使用以下 for 循环
for (( i = 0; i <= $length; i++ ))
我可以省略双括号中的$ 符号来引用变量length吗?
【问题讨论】:
-
如果 $length 是这样定义的
-
@Han :是的,因为你是在数字上下文中。
见过有人使用以下 for 循环
for (( i = 0; i <= $length; i++ ))
我可以省略双括号中的$ 符号来引用变量length吗?
【问题讨论】:
你当然可以这样做:
length='10'
for (( i = 0; i <= length; i++ ))
do
echo "I = $i"
done
输出:
I = 0
I = 1
I = 2
I = 3
I = 4
I = 5
I = 6
I = 7
I = 8
I = 9
I = 10
【讨论】:
是的,事实上,ShellCheck encourages it。
【讨论】:
由于你的 shell 解释器是 bash,如果你的长度是已知的,我建议你使用一个称为 bash 序列表达式的简洁功能:
for each in {0..10}
do
echo $each
done
【讨论】: