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 编程 之 小技巧

小程序各种功能代码片段整理---持续更新

shell编程基础之基本文本工具集合

shell编程之文本小工具

shell脚本编程之变量的小用法

面向面试编程代码片段之GC