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
其他脚本:国际象棋棋盘
代码:
圣诞树:
代码: