1. The string interception length is less than a certain value and output
[root@localhost scripts]# vim 揭秘for循环.sh
#!/bin/bash
for i in `cat 1.txt`
do
l=${i:4}
if [ ${#l} -lt 3 ];then
echo "$l"
fi
done
[root@localhost scripts]# vim 1.txt
123456
123456
123456
123456
[root@localhost scripts]# ./揭秘for循环.sh
56
56
56
56
2. Multiple algorithms
[root@localhost scripts]# vim 揭秘for循环.sh
for((i=1;i<=10;i++));
do
echo $(expr $i \* 3 + 1);
done
for i in $(seq 1 10)
do
echo $(expr $i \* 3 + 1);
done
for i in {1..10}
do
echo $(expr $i \* 3 + 1);
done
[root@localhost scripts]# ./揭秘for循环.sh
4
7
10
13
16
19
22
25
28
31
3. The for loop prints the nine-nine multiplication table
[root@localhost scripts]# vim 揭秘for循环.sh
for i in `seq 1 9`
do
for j in `seq 1 $i`
do
echo -ne "$j*$i=$[$j*$i]\t"
done
echo
done
for((i=1;i<=9;i++));
do
for((j=1;j<=i;j++));
do
echo -en "$j*$i=$[$j*$i]\t" #-t是转义字符所以需要-e -n表示取消换行
done
echo
done
[root@localhost scripts]# ./揭秘for循环.sh
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81