shell脚本----循环小案例!
Posted handsomeboy-东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本----循环小案例!相关的知识,希望对你有一定的参考价值。
矩形
[root@localhost ww]# vim star.sh
#!/bin/bash
read -p "请输入星星的规格 :" p
for ((i=1;i<=$p;i++))
do
for ((j=1;j<=$p;j++))
do
echo -n "* "
done
echo
done
[root@localhost ww]# bash star.sh
请输入星星的规格 :7
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
等腰三角形
[root@localhost ww]# vim d.sh
#!/bin/bash
#等腰三角形
read -p "请输入行数 :" sum
for ((i=1;i<=$sum;i++))
do
for ((j=$sum;j>$i;j--))
do
echo -n " "
done
for ((k=1;k<=$i;k++))
do
echo -n "* "
done
echo
done
[root@localhost ww]# bash d.sh
请输入行数 :10
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
九九乘法表
[root@localhost ww]# vim b.sh
#!/bin/bash
#制作九九乘法表
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
echo -n "$i*$j=$[$i*$j] "
done
echo
done
[root@localhost ww]# bash b.sh
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
菱形
[root@localhost ww]# vim a.sh
#!/bin/bash
#菱形
read -p "请输入行数 :" sum
let h=$sum-1
for ((i=$sum;i>0;i--))
do
for ((j=1;j<=$i;j++))
do
echo -n " "
done
for ((k=$sum;k>=$i;k--))
do
echo -n -e "\\e[33m*\\e[0m"
done
for ((c=$h;c>=$i;c--))
do
echo -n -e "\\e[34m*\\e[0m"
done
echo
done
for ((a=1;a<=$sum;a++))
do
for ((b=1;b<=$a;b++))
do
echo -n " "
done
for ((g=$sum;g>=$a;g--))
do
echo -n -e "\\e[35m*\\e[0m"
done
for ((d=$h;d>=$a;d--))
do
echo -n -e "\\e[32m*\\e[0m"
done
echo
done
六芒星
[root@localhost ww]# vim 6.sh
#!/bin/bash
for ((i=1;i<=5;i++))
do
for ((j=1;j<=19-$i;j++))
do
echo -n " "
done
for ((k=1;k<=$[$i*2-1];k++))
do
echo -n -e "\\e[32m*\\e[0m"
done
echo ""
done
for ((i=1;i<=3;i++))
do
for ((j=1;j<=3*$i-2;j++))
do
echo -n " "
done
for ((k=1;k<=41-6*$i;k++))
do
echo -n -e "\\e[5;33m*\\e[0m"
done
echo ""
done
for ((i=1;i<=4;i++))
do
for ((j=1;j<=12-3*$i;j++))
do
echo -n " "
done
for ((k=1;k<=12+6*$i;k++))
do
echo -n -e "\\e[5;34m*\\e[0m"
done
echo ""
done
for ((i=5;i>=1;i--))
do
for ((j=1;j<=19-$i;j++))
do
echo -n " "
done
for ((k=1;k<=$[2*$i-1];k++))
do
echo -n -e "\\e[35m*\\e[0m"
done
echo ""
done
[root@localhost ww]# bash 6.sh
以上是关于shell脚本----循环小案例!的主要内容,如果未能解决你的问题,请参考以下文章