shell编程之各种小图形
Posted 阳光小王子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程之各种小图形相关的知识,希望对你有一定的参考价值。
输出字符长为6的直线
#!/bin/bash
#字符长度为6直线
for i in {1..6}
do
echo -n "*"
done
echo ""
--------------------------
运行结果
[root@localhost 1]# bash demo3.sh
******
输出长度为6,宽度为3的矩形
#!/bin/bash
for i in {1..3}
do
for a in {1..6}
do
echo -n "*"
done
echo ""
done
-----------------------
运行结果:
[root@localhost 1]# bash demo3.sh
******
******
******
左直角三角形
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((b=1;b<=$i;b++))
do
echo -n "*"
done
echo ""
done
-----------------
运行结果
[root@localhost 1]# bash demo3.sh
*
**
***
****
*****
******
*******
********
*********
左倒直角三角形
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((b=9;b>=$i;b--))
do
echo -n "*"
done
echo ""
done
---------------------
运行结果[root@localhost 1]# bash demo3.sh
*********
********
*******
******
*****
****
***
**
*
右直角三角形
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=9; j>=$i;j--))
do
echo -n " " #这里是空格
done
for ((k=1;k<=$i;k++))
do
echo -n "*"
done
echo ""
done
------------------------------------
运行结果:
[root@localhost 1]# bash demo3.sh
*
**
***
****
*****
******
*******
********
*********
右倒立直角三角形
#!/bin/bash
for ((i=1;i<=9;i++))
do
for ((j=1; j<=i;j++))
do
echo -n " "
done
for ((k=9;k>=$i;k--))
do
echo -n "*"
done
echo ""
done
-----------------------------
运行结果:
[root@localhost 1]# bash demo3.sh
*********
********
*******
******
*****
****
***
**
*
可变大小等腰三角形
#!/bin/bash
read -p "请输入一个数:" num //num=5
for ((i=1;i<=$num;i++))
do
for ((j=num-1;j>=i;j--)) //第一行空格为4个
do
echo -n " "
done
a=$[($i*2)-1] //正等腰三角开*输出,主要控制好空格
for k in $(seq 1 $a)
do
echo -n "*"
done
echo " "
done
----------------------
运行结果:
请输入一个数:5
*
***
*****
*******
*********
[root@localhost 1]# bash demo3.sh
请输入一个数:9
*
***
*****
*******
*********
***********
*************
***************
*****************
平等四边形
方法1
#!/bin/bash
for ((i=6;i>=1;i--)) 或 for ((i=1;i<=6;i++))
do
for ((k=1;k<=$i;k++)) 或 for ((k=6;k>=$i;k--))
do
echo -n " "
done
for ((b=6;b>=1;b--))
do
echo -n "*"
done
echo ""
done
方法2
#!/bin/bash
for ((i=6;i>=1;i--)) 或 for ((i=1;i<=6;i++))
do
for ((k=6;k>=$i;k--)) 或 for ((k=1;k<=$i;k++))
do
echo -n " "
done
for ((b=6;b>=1;b--))
do
echo -n "*"
done
echo ""
done
--------------------------
运行结果:
[root@localhost 1]# bash demo3.sh
******
******
******
******
******
******
直角梯形
#!/bin/bash
for ((i=1;i<=6;i++))
do
for ((k=6;k>=$i;k--))
do
echo -n " "
done
for ((b=1;b<=6;b++))
do
echo -n "*"
done
for ((h=1;h<=$i;h++))
do
echo -n "*"
done
echo ""
done
----------------------.
运行结果
[root@localhost 1]# bash demo3.sh
*******
********
*********
**********
***********
************
等腰梯形
方法1
#!/bin/bash
for ((i=6; i>=1;i--))
do
for ((k=1; k<=$i;k++))
do
echo -n " "
done
for ((j=6;j>=1;j--))
do
echo -n "*"
done
for ((h=6; h>=$i;h--))
do
echo -n "*"
done
for ((g=6;g>$i;g--))
do
echo -n "*"
done
echo ""
done
----------------------
[root@localhost 1]# bash demo3.sh
*******
*********
***********
*************
***************
*****************
可变大小菱形
#!/bin/bash
read -p "请输入一个数:" num
for ((i=1;i<=$num;i++))
do
for ((j=num-1;j>=i;j--))
do
echo -n " "
done
a=$[($i*2)-1]
for k in $(seq 1 $a)
do
echo -n "*"
done
echo " "
done
for ((i=num-1;i>=1;i--))
do
for((j=1;j<num-i+1;j++))
do
echo -n " "
done
for((k=2*i-1;k>0;k--))
do
echo -n "*"
done
echo " "
done
-------------------------
运行结果:
请输入一个数:5
*
***
*****
*******
*********
*******
*****
***
*
[root@localhost 1]# bash demo2.sh
请输入一个数:4
*
***
*****
*shell 编程 之 小技巧