本文介绍: 本文基于Linux上CentOS 7 版本进行演示Linux上shell脚本多种方法(循环)打印九九乘法表一.for语句双重循环二.for语句类c写法双重循环三.while双层循环四.while单层循环
一.for语句双重循环
for双重循环主要思路:
利用seq输出连续数字1-9,外层循环控制乘数i的循环,内层循环控制被乘数j的循环
内层循环根据外层循环的提供的数值进行循环
直到内层循环的j和外层的i的值相等结束这一次内层循环并换行,进入下一次循环
#!/bin/bash
for i in `seq 9`
do
for j in `seq $i`
do
printf "$j*$i=%2d " $((j*i))
#echo -n "$j*$i=$((j*i)) "
#为了美观调换i和j位置
done
echo "" #换行
done
[root@sulibao sh]# bash chengfabiao.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 |
二.for语句类c写法双重循环
第一个表达式指赋予初始值,第二个表达式指循环条件,第三个表达式指循环自增或自减
执行顺序是表达式1—表达式2—循环体—表达式3—表达式2+表达式3—直到表达式2不成立停止
#!/bin/bash
for((i=1;i<10;i++))
do
for((j=1;j<=$i;j++))
do
printf "$j*$i=%2d " $((j*i))
#echo -n "$j*$i=$((j*i)) "
done
echo ""
done
[root@sulibao sh]# bash chengfabiao.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 |
三.while双层循环
在循环外赋乘数i初值,循环内赋被乘数j初值
j根据i的取值条件进行循环打印,内层本次循环完后换行后乘数自加进入下一次循环
#!/bin/bash
i=1
while ((i<10))
do
j=1
while ((j<=i))
do
printf "$j*$i=%2d " $((j*i))
let j++
done
echo ""
let i++
done
[root@sulibao sh]# bash chengfabiao.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 |
四.while单层循环
循环外为乘数i和被乘数j赋初值,循环内使用if控制乘数与被乘数的值大小关系
被乘数小于等于乘数时执行循环体,一旦被乘数大于乘数后乘数进行自加换行并再次为被乘数赋初值
#!/bin/bash
i=1;j=1
while ((i<10))
do
if ((j<=i))
then
printf "$j*$i=%2d " $((j*i))
let j++
else
let i++
echo ""
j=1
fi
done
[root@sulibao sh]# bash chengfabiao.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 |
原文地址:https://blog.csdn.net/weixin_64334766/article/details/128924168
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_34866.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。