以下 bash 脚本
#!/bin/bash
startNumber=$(( 1 ))
endNumber=$(( $startNumber + 3 ))
#for number in {$startNumber..$endNumber}
for number in {1..4}
do
echo $number
done
exit 0
给出所需的输出
1
2
3
4
但是,当我切换未注释和注释的 for 循环时,输出为
{1..4}
我究竟做错了什么?
答案1
答案2
正如其他地方所解释的,扩展将不起作用。获取数字序列的另一种方法:
for number in $(seq $startNumber $endNumber)
do
echo $number
done