shell打印菱形和设置文字颜色背景色
2017-01-22 23:11
190 查看
shell脚本在linux日常维护当中经常会用到,例如部署项目或者运维等,本文介绍两个脚本,分别是打印菱形和修改输出脚本背景色和颜色,本文参照这篇全英文文章稍作修改
一、打印菱形
直接上代码#!/bin/sh MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read MAX_NO if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then echo "WTF... I ask to enter number between 5 and 9, Try Again" exit 1 fi clear for (( i=1; i<=MAX_NO;i++ )) do for (( s=MAX_NO;s>=i;s-- )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done for (( i=MAX_NO;i>=1;i-- )) do for (( s=i; s<=MAX_NO; s++ )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done
代码意思比较清晰两次大的循环,先打印上半部分三角形,然后打印下半部分三角形,打印时先递增,然后递减。
大的循环里面再套用两个小的循环分别打印空格和星号(*),这里必须两次大循环,有的网上转载的文章里面直接漏掉了很多代码如下图,导致只出现一层大循环,显然是不对的。
顺便贴出我的代码:
运行以上程序得到如下结果:
小知识:
1)判断语句中 -a 表示逻辑与 -o表示逻辑或
2)echo -n “” 表示接着输出的内容不会换行,比如 echo -n “abc” echo “def” 输出”abcdef”
3) echo “”可以起到换行作用
4)循环语句中变量可以不用带$
二、颜色相关
直接看代码:#/bin/sh clear #effect #echo -e "\033[1m Bold" # bold effect echo -e "\033[5m Blink" # blink effect echo -e "\033[0m Hello World" # back to normal #color echo -e "\033[31m Red" # red echo -e "\033[32m Green" # green echo -e "\033[33m Yellow" # yellow echo -e "\033[34m Blue" # blue echo -e "\033[35m Purple" # purple echo -e "\033[36m Cyan" # cyan echo -e "\033[0m Normal" # back to normal #background echo -e "\033[41m Hello World Red" echo -e "\033[42m Hello World Green" echo -e "\033[43m Hello World Yellow" echo -e "\033[44m Hello World Blue" echo -e "\033[45m Hello World Purple" echo -e "\033[46m Hello World Cyan" echo -e "\033[0m Hello World Normal"
我的代码截图:
运行效果如下:
这种看着很炫的效果就是通过转义echo -e 来实现的,平时应该用的不多,可以作为冷知识了解一下。
相关文章推荐
- 永久设置SecureCRT的背景色和文字颜色方案
- DevGridControl单元格背景色和单元格文字颜色设置
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- 永久设置SecureCRT的背景色和文字颜色方案[转]
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- JTextPane例子,演示为文字设置字体、字号、样式、颜色、背景色和插入图片功能
- SpannableStringBuilder设置TextView文字格式(颜色、背景色、下划线、删除线等)
- JTextPane例子,演示为文字设置字体、字号、样式、颜色、背景色和插入图片功能
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- ios开发 之 设置多种文字颜色/背景色/文字下划线/行间距
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- 永久设置SecureCRT的背景色和文字颜色方案
- wpf 设置treeView节点选中后的的文字颜色、节点的背景色以及节点失去焦点后的背景颜色
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)
- markdown编辑器语法——文字颜色、大小、字体与背景色的设置(转)