Shell—二重循环图形打印(长方形,正方形,三角形,菱形,9*9乘法表)

前言

通过利用for循环打印图形包括:正方形,矩形,直角三角形,等腰三角形,打印菱形和九九乘法表

一、命令

1.1 echo用法

echo -n:不换行输出
-e:支持反斜线控制的字符转换
转义:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab; #打空格
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn (八进制)所代表的ASCII字符;

1.2 seq命令

seq 1000 起始默认是1,间隔默认也是1
seq 2 1000 间隔默认是1
seq 1 3 10 从1到10,间隔为3,结果是:1 4 7 10
seq 1 10 从1开始,到10结束,间隔为1,结果是:1 2 3 … 10

二、图形打印项目

2.1 打印长方形

[root@server2 ~]# vi xz.sh
#!/bin/bash
# 打印图形
for ((i=1;i<=5;i++))    #控制行数,小于<=5do
for ((j=1;j<=5;j++))    #每行显示个数
    do
    echo -n "*"         #满足条件显示“*”
    done
    echo     #不满足条件的不显示
done      
[root@server2 ~]# chmod +x xz.sh    #增加可执行权限

在这里插入图片描述

2.2 打印正方形

跟长方形一样,只需要改变一个数值,echo -n ""显示增加一个空格echo -n " "

[root@server2 ~]# vi xz.sh
#!/bin/bash
# 打印图形
for ((i=1;i<=5;i++))
do
for ((j=1;j<=5;j++))
    do
    echo -n "* "
    done
    echo
done
[root@server2 ~]# chmod +x xz.sh    #增加可执行权限

在这里插入图片描述

2.3 打印三角形

2.3.1

[root@server2 ~]# vi zj.sh
 #!/bin/bash
# 打印直角三角形
for ((i=1;i<=9;i++))     #行数
do
    for ((j=1;j<=$i;j++))  #每行显示个数
    do
    echo -n "*"
    done
    echo
done
[root@server2 ~]# chmod +x zj.sh

在这里插入图片描述

2.3.2

[root@server2 ~]# vi zj1.sh
#!/bin/bash
# 打印直角三角形2
for ((i=1;i<=9;i++))   ¥行数
do
   for ((j=0;j<$i;j++))     #每行显示个数
   do
   echo -n " "
   done
   for ((k=10-$j;k>0;k--))   #每行显示个数
   do
   echo -n "*"
   done
   echo
done
[root@server2 ~]# chmod +x zj1.sh

在这里插入图片描述

2.3.3

[root@server2 ~]# vi dy.sh
#!/bin/bash
# 打印等腰三角形
for ((i=1;i<10;i++))   
do
   for ((n=10;n>=i;n--))    
   do
   echo -n " "
   done
   for ((m=1;m<=i\*2-1;m++))
   do
   echo -n "*"
   done
   echo
done
[root@server2 ~]# chmod +x dy.sh

在这里插入图片描述

2.4 打印菱形

[root@server2 ~]# vi lx.sh
#!/bin/bash
# 打印菱形
read -p "请输入菱形长度" len
for i in `seq 1 $len`
do
   for ((j=$len-1;j>=$i;j--))
   do
   echo -n " "
   done
   for ((m=1;m<=$i;m++))
   do
   echo -n "* "
   done
   echo
done
for i in `seq 1 $len`
do
   for ((j=1;j<=$i;j++))
   do
   echo -n " "
   done
   for ((n=$len-1;n>=$i;n--))
   do
   echo -n "* "
   done
   echo
done
[root@server2 ~]# chmod +x lx.sh

在这里插入图片描述

2.5 打印9*9乘法表

2.5.1

[root@server2 ~]# vi ninel.sh
#!/bin/bash
# 9*9乘法表
for ((i=1;i<=9;i++))
do
   for ((j=1;j<=i;j++))
   do
   echo -ne "$i*$j=$((i*j)) \t"
   done
   echo
done
[root@server2 ~]# chmod +x ninel.sh

在这里插入图片描述

2.5.2
修改for ((j=1;j<=i;j++))
为for ((j=1;j<=9;j++))
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值