shell输出彩虹色
shell 脚本有趣的运用
根据输入内容输出彩虹色的字符串附加各种效果
如果没有输入字符串,就读取 rainbow.txt 内容,再输出
#!/bin/sh#定义输出颜色的功能
rmsg() { echo -e "\033[31m$*\033[0m"; }
gmsg() { echo -e "\033[32m$*\033[0m"; }
bmsg() { echo -e "\033[34m$*\033[0m"; }# 判断参数是否大于1个,如果没有参数就读入一个字符串作为参数
if [ $# -lt 1 ];thenread -p "请输入字符串:" s
elses=$1
fi# 判断如果输入的字符小于7个就输出一首诗
if [ ${#s} -lt 7 ];thenrmsg "七绝.彩虹(平水韵)"gmsg "七绝.彩虹(平水韵)"bmsg "七绝.彩虹(平水韵)"s=`cat rainbow.txt`
fi# 定义一个数组用来记录7中颜色的值
color=(31 32 33 34 35 36 37)rainbow() {r="" # 初始化原始输出字符串g="" # 初始化背景色选择c=1 # 计算行数for ((i=0;i<${#s};i++))don=`expr $i % 7` #取余数保持7种颜色if [ $n -eq 0 -a $i -gt 0 ];then # 判断非第一行c=$(($c + 1))r=${r}"\n"fiif [ $c -eq 1 ];then # 判断第一行g="4;" # 设置下划线elif [ $c -eq 2 ];theng="7;"elif [ $c -eq 3 ];theng="1;2;"elseg="5;"fiif [ $n -eq 2 ];theng=$g"44;"fir=${r}"\033[${g}"${color[$n]}"m"${s:$i:1}"\033[0m" # 拼接字符串doneecho -e ${r}
}# 调用rainbow 功能
rainbow
rainbow.txt 文件内容如下
赤橙黄绿青蓝紫绚丽缤纷雨后呈疑是神仙涂艳色彩虹天际似桥横
输出效果:
shell输出彩虹色相关推荐
- shell输出加颜色
shell输出加颜色 #cat a.sh #!/bin/sh blue=`tput setaf 4` reset=`tput sgr0` echo "${blue}[INFORMATION] ...
- shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...
在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉 ...
- linux 终端与shell输出大小不匹配
改变shell输出大小 在使用一个终端(例如iterm2)打开一个ssh连接之后,如果改变终端窗口大小,这时候shell输出和终端大小会不匹配.这时候执行命令 /usr/bin/resize 或者直接 ...
- Linux Shell脚本入门教程系列之(七)Shell输出
本文是Linux Shell脚本系列教程的第(七)篇,更多shell教程请看:Linux Shell脚本系列教程 与其他语言一样,Shell中也有输出操作,而且在实际应用中也是非常重要的,继上一篇之后 ...
- linux shell输出数字小数点前少了0_南京课工场IT培训:SHELL 超详细基础知识,适合新手小白(一)
一.什么是shell? 在linux内核与用户直接的解释器程序: 通常指/bin/bash; 相当于操作系统的"外壳". 二.怎么使用shell? shell的使用方式? 1. 命 ...
- linux shell 输出到数据库,linux shell 入门
利用vi等文本编辑器编写Shell脚本的格式是固定的,如下: Yourcommandsgohere chmod+xfilename.sh 下面我们从经典的"helloworld"入 ...
- shell 输出数据到文本_Linux运维工程师从基础到进阶:Shell变量知识梳理
Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言,涵盖的知识点多且杂,却是云计算开发人员必须要掌握的技术之一.接下来的广州云计算培训小 ...
- shell输出毫秒_【Linux】shell: 获取时间间隔到毫秒、微秒级别
对于shell,通过date命令可以获取到当前时间,还可以设定特殊格式,看help你可以看到下面两个好用的参数: %s seconds since '00:00:00 1970-01-01 UTC' ...
- [Python]关于使用subprocess.run捕获shell输出的方法
subprocess模块文档https://docs.python.org/zh-cn/3/library/subprocess.html 方法 p=subprocess.run([args],std ...
最新文章
- 《RPA、AI、.NET Core 与未来》-中国.NET开发者峰会
- bzoj 3238: [Ahoi2013]差异
- 将JsonObject转换成HashMap
- OpenMP、MPICH与OpenMPI
- php ci sql性能时间,Codeigniter操作数据库表的优化写法总结
- 那一天,那一月,那一年,那一世,那一瞬
- matlab中的高阶导数,如何用matlab求函数的导数与高阶导数 需要技巧
- 计算机桌面颜色如何设置标准,电脑桌面背景字体颜色设置小技巧
- 《我和PIC单片机:基于PIC18》——导读
- itchat 运行记录
- Scrapy+MongoDB+FastAPI搭建免费IP代理池接口
- 2017 linux wine 迅雷,Ubuntu+Wine+迅雷+QQ安装方法
- 宏观经济学-大题资源整理
- mysql vtype_ExtJs6学习笔记 -- 自定义 vtype
- 医生,我的眼球掉出来了,快帮我种回去!
- JAVA查询数据库并显示jsp_java servlet数据库查询并将数据显示到jsp页面
- C语言中的atoi函数的实现
- linux 格式化 4k对齐,硬盘WD10EARS在FreeNas的格式化方法,4k对齐的问题
- 手把手教你训练自己的目标检测模型(SSD篇)
- 百度云非会员下载限速套路:
热门文章
- “一笔画”的游戏的规律
- JAVA英语单词(带音标)
- citespace学习总结—二、CNKI数据的导入
- java 药店管理系统,毕业论文--基于java的药店管理系统.doc
- SPC5607B的eDMA模块使用示例
- 福布斯区块链50强榜单发布,6家中国机构上榜
- composer 提示内存不足且没有交换空间
- 如何使用vray进行建筑渲染?
- Rundll32.exe在批处理里的应用
- (15 C++ Homework) Alipay System 1 user