如何在bash中打印奇数?
for i in {1..100}
do
if [ ($i % 2) -ne 0 ]
then
echo $i
fi
done
你好!我正在学习 Bash,但是我在打印 1 到 100 范围内的奇数时遇到了一些问题,显然我有一些找不到的语法错误。
回答
该{x..y}构造允许使用第三个参数来指定增量值(默认为 1),例如:
for i in {1..20..3} # start with 1 and increment by 3 until you reach/pass 20
do
echo $i
done
这会产生:
1
4
7
10
13
16
19
对于oddvseven你指定起始数字并增加 2:
# odd numbers
for i in {1..10..2} # start with an odd number and increment by 2
do
echo $i
done
1
3
5
7
9
# even numbers
for i in {2..10..2} # start with an even number and increment by 2
do
echo $i
done
2
4
6
8
10