教你如何用shell脚本输出菱形
教你如何用shell脚本输出菱形
通过shell脚本,我们可以在脚本中,用不同的符号,来输出一个菱形图案。虽然图案看起来输出比较容易,但是真正写起来,还是要体研究起来,我们还是可以发现,其实还是有点小门道的,现在我我们就通过不同的符号来具体了解下输出原理:
一、一个完整的菱形我们要一段一段的解读,先输出三角形,最后在拼成一个完整的菱形:
[root@zhu opt]# vi 9lingxing.sh
#!/bin/bash
for ((i=9; i>=1; i--))
dofor ((a=1; a<=$i; a++))doecho -n "#"donefor ((b=9; b>=$i; b--))doecho -n "&"donefor ((c=8; c>=$i; c--))doecho -n "%"done
echo ""
done
可以看出,一个三角形是由3个直角三角形组成,通过上述语句,可以输出一个三角形,接下来,我们就需要把对应的符号换成空格和“*”就行了。
二、将符号对影成想对应的空白和“*”:
[root@zhu opt]# vi 9lingxing.sh
#!/bin/bash
for ((i=9; i>=1; i--))
dofor ((a=1; a<=$i; a++))doecho -n " "donefor ((b=9; b>=$i; b--))doecho -n "*"donefor ((c=8; c>=$i; c--))doecho -n "*"done
echo ""
done
这样我们就可以获得一个三角形。接下来,我们在处理另一半的三角形。
三、画出一个倒吊的三角形:
[root@zhu opt]# vi 9lingxing2.shdone
#!/bin/bash
for ((i=2; i<=9; i++))
dofor ((a=1; a<=$i; a++))doecho -n "&"donefor ((b=9; b>=$i; b--))doecho -n "%"done for ((c=8; c>=$i; c--))doecho -n "@"doneecho " "
done
四、然后再把对应的字符换成“*”
[root@zhu opt]# vi 9lingxing2.sh
#!/bin/bash
for ((i=2; i<=9; i++))
dofor ((a=1; a<=$i; a++))doecho -n " "donefor ((b=9; b>=$i; b--))doecho -n "*"donefor ((c=8; c>=$i; c--))doecho -n "*"doneecho " "
done
五、最后将2段代码合二为一就能输出一个菱形了:
[root@zhu opt]# vi 9lingxing.sh
#!/bin/bash
for ((i=9; i>=1; i--))
dofor ((a=1; a<=$i; a++))doecho -n " "donefor ((b=9; b>=$i; b--))doecho -n "*"donefor ((c=8; c>=$i; c--))doecho -n "*"done
echo " "
donefor ((i=2; i<=9; i++))
dofor ((a=1; a<=$i; a++))doecho -n " "donefor ((b=9; b>=$i; b--))doecho -n "*"donefor ((c=8; c>=$i; c--))doecho -n "*"doneecho " "
done
~
再来我们可以将代码改一下变量,就可以输出我们需要的尺寸的菱形:
#!/bin/bash
read -p "请输入菱形大小:" g
for ((i=1;i<=$g;i++))
dofor ((j=$g;j>$i;j--))doecho -n " "
donefor ((p=1;p<=$i;p++))doecho -n "* "
done
echo ""
donefor ((k=$g-1;k>=1;k--))
dofor ((m=$g;m>$k;m--))doecho -n " "
donefor ((l=1;l<=$k;l++))doecho -n "* "
done
echo ""
done
教你如何用shell脚本输出菱形相关推荐
- shell脚本输出菱形与等边三角形
[前言] 练习shell,提高逻辑能力. [脚本] 三角形与菱形均通过几个for循环实现,当然也可以用while. 下面是脚本内容: [三角形] 1 2 3 4 5 6 7 8 9 10 11 12 ...
- c语言用星号循环打出爱心,学过C语言的同学,是否还记得当年各种打印各种星星。今天,我就改一版使用Shell脚本输出各种星星。打印单个星号 这个没啥可说的,直接上代码:#...
学过C语言的同学,是否还记得当年各种打印各种星星.今天,我就改一版使用Shell脚本输出各种星星.打印单个星号 这个没啥可说的,直接上代码:# cat star.sh #!/bin/bash echo ...
- python编程怎么建立工程_教你如何用Python脚本快速创建项目
相信初学Cocos2D者对Python还很陌生,今天本篇教程教你如何用Python脚本快速创建项目. 在Cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python ...
- 用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 ...
- Linux shell脚本输出日志的方法和案例
Linux shell脚本输出日志 #### log_correct函数打印正确的输出到日志文件 function log_correct () {DATE=`date "+%Y-%m-%d ...
- linux c程序中获取shell脚本输出
http://doc.chinaunix.net/linux/201004/512284.shtml1. 前言 Unix界有一句名言:"一行shell脚本胜过万行C程序",虽然这句 ...
- linux shell oracle脚本_领导:如何用shell脚本统计Oracle数据库进程明细和存储过程信息...
概述 今天主要分享一下两个shell脚本,主要是为了查看数据库进程的相关信息和存储过程信息,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB login de ...
- c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法
[转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...
- shell脚本输出颜色
写shell脚本时,用echo命令输出内容,这我们都知道.但是怎么给输出内容上点色呢? 其实很简单,利用-e参数,即启用反斜杠转义的解释. `echo' 对下列反斜杠字符进行转义: \a ...
最新文章
- 在CentOS 6.3 64bit上安装MySQL for python模块
- LAMP平台部署及应用
- 电脑新手:一次了解电脑键盘上每个键的含义!
- datatable 自定义搜索框 + 汉化
- 获奖者:​郑纬民,男,清华大学教授、博士生导师,《大数据》杂志主编。...
- 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解
- 设计模式学习之---Facade(外观)模式
- 5万字 | 2020大厂面试总结,PDF供下载
- ThinkPHP表单信息收集系统
- Activiti7的进阶使用
- R语言解决安装rgl包问题:ERROR: compilation failed for package ‘rgl‘
- 云计算技术与应用课后答案第一章
- Jmeter遇到打不开的问题
- pure-admin九州权限系统地址简单读
- guest additions
- 什么是无线HDMI,您应该使用它吗?
- JS代码:身份证号EMAIL检验
- 用户管理系统_学期项目智能管理系统用户操作指南
- windows 10企业版windows Defender无法使用
- 网络变压器的检测设备(5):检测单个元件时选择组合参数的方法
热门文章
- 微信小程序之解决background-image属性失效
- 计算机网络教程实验二——静态路由配置实验心得
- php生成pdf中文断码_PHP生成PDF完美支持中文,解决TCPDF乱码
- 计算机ps2定义,软件硬件界面接口定义 bt656 硬件接口定义
- 定投基金,如何计算年化收益率
- 社科院与杜兰大学金融管理硕士项目——有规划的人生值得期待,你当下的规划是什么呢
- 解决h5 在微信放大字体中的问题
- vinted是什么平台以及特点
- 视频格式那么多,MP4/RMVB/MKV/AVI 等,这些视频格式与编码压缩标准 mpeg4,H.264.H.265 等有什么关系?...
- 干货!JVM 基础面试题总结(持续更新)