06-SHELL脚本编程基础-for循环 20210405 (九)

循环执行介绍:for循环

#help for

for 举例
[root@centos8-kevin306 ~]#for i in 1 2 3 4;do echo i=$i;done i=1 i=2 i=3 i=4

#Rocky中

格式1:
for NAME [in WORDS ... ] ; do COMMANDS; done
for 变量名 [ in 列表 ];do
循环体
done
for 变量名 [ in 列表 ] do
循环体
done
执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束
范例:面试题,计算1+2+3+...+100的结果
[root@centos8 ~]# sum=0;for i in {1..100};do let sum+=i;done ;echo sum=$sum
sum=5050
或者
[root@centos8 ~]# seq -s+ 100|bc 5050
范例:99乘法表

1.vim 99.bash

2.先写出行的显示方法
#!/bin/bash for i in {1..9};do
echo $i
done
3.bash 99.sh (#先打印9行)

4.行号就是打印的公式的个数
j代表公式的列

5.bash 99.sh,打印j

6.j表示列,打印出来了,但是没有换行,修改如下
此处科普一下echo相关知识,echo可以将你输入的内容进行显示,可以加参数,显示参数标准输出显示,并且自动换新行
Options:
\a alert (bell) 警报声提醒
\c suppress further output 压缩之后的输出 压缩掉echo的换行
\n new line 换新行 本身echo就带有换行,再加\n表示换两行
\t horizontal tab 水平制表符
\v vertical tab 垂直制表符
for i in {1..9};do for j in `seq $i`;do echo -e "$j\c" (#此处加-e \c表示不用换行) done echo (#此处整个列打印结束需要换行) done

7.修改换行问题后执行看效果,初具图形

8.计算公式写入
for i in {1..9};do for j in `seq $i`;do echo -e "jxi=$[j*i]\c" done echo done

9.再次执行看结果,有模有样了,不过忘记添加变量了

10.变量加上$符号,同时加上{}确定变量边界,

11.再次执行看修改的效果,变量有了,但是没有空格隔开,连在一起了

12.\c前加空格隔开

13.修改的效果再次展示,隔开了,但是不完美,还没有对齐

14.使用teb键,对齐
最后就成型了,脚本是一点点的不断拼成的,不断完善的。
代码如下:
#语法1实现
for i in {1..9};do
for j in `seq $i`;do
echo -e "${j}x$i=$((j*i))\t\c"
done
echo
done
其他脚本:国际象棋棋盘

代码:
圣诞树:

代码:

浙公网安备 33010602011771号