【前言】

练习shell,提高逻辑能力。

【脚本】

三角形与菱形均通过几个for循环实现,当然也可以用while。

下面是脚本内容:

[三角形]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
read -p "please input the longs:" long
for((i=1;i<=$long;i++))
do
    for((j=$long;j>i;j--)) #控制空格输出
    do
        echo -n " "
    done
    for in `seq 1 $i`  #输出所在行数相同的数字个数,如在第三行,就输出3个3
    do
        echo -n "$i"     
    done
    #for((n=1;n<i;n++))
    for in `seq 2 $i`  #输出所在行数减一的数字个数,如在第三行,就输出2个三
    do                   ##这连个for循环可以整合到一块,实现每行输出(2*所在行数-1)个数字 
        echo -n "$i"
    done
    echo ""
done

执行后的效果图:

若将上述脚本内层的两个for循环内"echo -n "$i""的$i换为*后,再次执行脚本效果如下:

[菱形]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
read -p "please input the longs:" long
for((i=1;i<=$long;i++))              #图形上半部分
do
    for((j=$long;j>i;j--))
    do
        echo -n " "
    done
    for in `seq 1 $i`
    do
        echo -n "*"
    done
    #for((n=1;n<i;n++))
    for in `seq 2 $i`
    do
        echo -n "*"
    done
    echo ""
done
for((i=2;i<=$long;i++))    #图形下半部分
do
    for ((j=1;j<i;j++))
    do
        echo -n " "
    done
    let k=$long+1-$i    
    for in `seq 1 $k`
    do
        echo -n "*"
    done
    for ((n=1;n<k;n++))
    #for n in `seq 2 $k`
    do
        echo -n "*"
    done
    echo ""
done

改进后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
read -p "please input the longs:" long
for((i=1;i<=$long;i++))       #控制行数
do
    for((j=$long;j>i;j--))    #控制空格输出
    do
        echo -n " "
    done
     
    let "g=2*i-1"
    for in `seq 1 $g`       #控制*数量
    do
        echo -n "*"
    done
    echo ""
done
for((i=2;i<=$long;i++))       #控制行数
do
    for ((j=1;j<i;j++))       #控制空格输出
    do
        echo -n " "
    done
    let "k=2*(long-i)+1"
    for in `seq 1 $k`       #控制*数量
    do
        echo -n "*"
    done
    echo ""
done

执行后的效果图:

本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1727758,如需转载请自行联系原作者

shell脚本输出菱形与等边三角形相关推荐

  1. 教你如何用shell脚本输出菱形

    教你如何用shell脚本输出菱形 通过shell脚本,我们可以在脚本中,用不同的符号,来输出一个菱形图案.虽然图案看起来输出比较容易,但是真正写起来,还是要体研究起来,我们还是可以发现,其实还是有点小 ...

  2. c语言用星号循环打出爱心,学过C语言的同学,是否还记得当年各种打印各种星星。今天,我就改一版使用Shell脚本输出各种星星。打印单个星号         这个没啥可说的,直接上代码:#...

    学过C语言的同学,是否还记得当年各种打印各种星星.今天,我就改一版使用Shell脚本输出各种星星.打印单个星号 这个没啥可说的,直接上代码:# cat star.sh #!/bin/bash echo ...

  3. 用shell脚本输出99乘法表

    用shell脚本输出99乘法表 效果: 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 ...

  4. Python 使用循环结构输出菱形(倒等边三角形)图案

    题目要求输出的图案如下所示: 总结了用Python代码实现的方法,具体见下: n = 7## 上半部分三角形 for i in range( n // 2 + 1):print("*&quo ...

  5. Linux shell脚本输出日志的方法和案例

    Linux shell脚本输出日志 #### log_correct函数打印正确的输出到日志文件 function log_correct () {DATE=`date "+%Y-%m-%d ...

  6. linux c程序中获取shell脚本输出

    http://doc.chinaunix.net/linux/201004/512284.shtml1. 前言 Unix界有一句名言:"一行shell脚本胜过万行C程序",虽然这句 ...

  7. c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法

    [转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...

  8. shell脚本输出颜色

    写shell脚本时,用echo命令输出内容,这我们都知道.但是怎么给输出内容上点色呢? 其实很简单,利用-e参数,即启用反斜杠转义的解释. `echo' 对下列反斜杠字符进行转义:       \a  ...

  9. inux C程序中获取shell脚本输出(如获取system命令输出)

    1. 前言 Unix 界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个 ping程序来测 ...

最新文章

  1. Anaconda中安装Orange3脚本-完整版
  2. TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
  3. Linux自学日记1
  4. Java中 equals和==的区别?
  5. [crypto]-05.1-PKCS PKCS#1 PKCS#7 PKCS#11的介绍
  6. Struts2的文件目录
  7. 的it生活_IT圈生活图鉴篇三丨下班后的突变画风
  8. 关于测试行业的零星思考
  9. Php的if自动转换类型,php输出数据字段类型自动转换函数
  10. sony z2 android 5.0,索尼Xperia Z2 5.0 root教程_索尼Z2获取5.0系统的root
  11. arm9重启ssh服务_部署ssh使用rsa登录配置
  12. python3编程入门_python3编程基础之一:操作
  13. 什么是lambda(函数)?
  14. Linux ALSA音频子系统二
  15. ThinkPad笔记本安装win10+Ubuntu17.10双系统
  16. L2TP的LAC自动拨号实验
  17. 调用webservice服务方式总结
  18. SpringMVC整合activiti Modeler
  19. 研究生综合英语unit4 前四段
  20. java宠物小精灵_4978:宠物小精灵之收服

热门文章

  1. cygwin编译verilator_Sublime text3 + Verilator 实现自动语法检错
  2. VMware 修改虚拟机网络_虚拟机问题解决
  3. nginx 域名跳转 ---IP跳转----
  4. 晶振波形不是正弦波_10天电子入门-电感/晶振/声音
  5. 一周一论文(翻译 总结)— [SOCC 14] DaRPC: Data Center RPC 基于RDMA的高性能通信RPC
  6. matlab如何模拟竹蜻蜓飞行,JSBSim_Matlab 将 与 进行联合仿真 模拟飞行计算 247万源代码下载- www.pudn.com...
  7. c++中内敛函数_C++ 内联函数 | 菜鸟教程
  8. kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法
  9. js能订阅mq吗_高颜值宠物营养品订阅盒!除了好看,真的能补充营养吗?
  10. 费氏搜寻法之算法分析与实现