Linux学习总结(76)—— Shell 脚本日志技巧
常见日志打印方式
编写 shell 脚本时,最简单的日志打印是使用 echo 输出,比如: 下面是打印一个测试程序的日志
[root@VM-0-2-centos ~]# echo "this is a log test..."
this is a log test...
上面的方式使用起来非常简单,编写效率也很高,对于一些功能简单,代码量少的shell脚本,非常适合这种日志打印的方式,简单快捷
通用接口
上面的小节中,每次都用 echo ,没有一个统一的输出格式,如果需要在每条日志开头加上指定内容, 就需要修改脚本中每一处的日志,这就变成了一个体力活了
针对这点,可以定义一个输出函数,所有的的输出统一调用这个函数, 现有测试脚本 t.sh 内容如下
#!/bin/bashfunction log()
{echo "$@"
}
另外新建一个测试脚本 ta.sh
#!/bin/bashsource ./t.shlog "this is a test..."
log "today is `date '+%Y-%m-%d'` "
执行 ./ta.h 命令,结果如下
[root@VM-0-2-centos shell_log]# ./ta.sh
this is a test...
today is 2021-07-27
如果现在想在每一行日志前面加上当前时间的话,直接修改 t.sh 中的 log 函数, t.sh调整后的脚本如下
<
Linux学习总结(76)—— Shell 脚本日志技巧相关推荐
- Linux学习入门: shell脚本常用命令汇总
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 Linux学习最初就是要掌握shell脚本的基本命令语句,这个也是我们操作Linux操作系统的关键步骤,但是Linux的shel ...
- Linux学习--如何通过Shell脚本实现发送邮件通知功能?
1.安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件.不过mail命令是依赖sendmail的,所以我们 ...
- Linux编写脚本nsum求和,详解Linux Shell脚本编写技巧,附实例说明
原标题:详解Linux Shell脚本编写技巧,附实例说明 Linux Shell是一个很难的知识板块.虽然大家都认真学,基本的语法很都掌握,但有需求时,很难直接上手编程,要么写了很久,要么写不好!对 ...
- Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结
时间:2017年12月04日星期一 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...
- Linux_《Linux命令行与shell脚本编程大全》第二章学习总结
时间:2017年04月05日 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>(第三版 ...
- Linux_《Linux命令行与shell脚本编程大全》第十章学习总结
时间:2017年08月24日星期四 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...
- 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记
2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...
- linux脚本求命令行上整数和,《Linux命令行与shell脚本编程大全》 第二十二章 学习札记...
<Linux命令行与shell脚本编程大全> 第二十二章 学习笔记 第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系 ...
- linux运维自动化脚本,linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
最新文章
- Machine Learning - Andrew Ng on Coursera (Week 6)
- 无线循环里面 string = “i”会内存溢出吗?_记一次公司JVM堆溢出抽茧剥丝定位的过程...
- com.esri.android,解决ArcGIS Android Could not find class 'com.esri.android.map.MapView'问题
- leetcode 434. 字符串中的单词数(Java版)
- 编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个 vector。
- linux usb学习笔记
- 浅谈前端自动化构建 -- Grunt、Gulp、FIS
- 注册表和计算机用户名关系,IUSR_计算机名和IWAM_计算机名帐户的用户名和密码...
- 如何减少silverlight XAP包的尺寸
- python朴素贝叶斯分类的手写数字识别_关于利用机器学习进行手写数字的的识别...
- 飞鱼科技2019笔试题
- 啦啦外卖43.5学习研究开发
- c语言九宫格拼图程序,C语言简单游戏编程学习入门之九宫格拼图
- bilibili哔哩哔哩网页版中视频资源下载方法(无需任何工具)
- python簇状柱形图_使用Matplotlib绘制堆积条形图
- 宁向东管理课:自我力
- vba学习笔记 数组的LBound和UBound
- 蘑菇街php面试,蘑菇街面试
- 披荆斩棘Linux之清理空间
- Unity Steam_VR 开发工具插件 VRTK自带案例分析(第一部分)
热门文章
- oracle显示linesize,SQL Plus输出结果的格式化(linesize、pagesize)
- mos 控制交流_小米智能排插的220V交流电压信号的开关控制电路设计
- xshell连接成功但无法输入命令_如何解决cisco设备无法进入系统问题?
- 基于hadoop构建对象存储系统_Hadoop社区正式支持腾讯云对象存储COS
- java 取栈顶元素_java集合系列(7)Stack
- 小程序 cover-view 字体_【企商云】2021年,要知道的9个小程序开发流程清单
- html阴影 渐变,CSS3:图层阴影及渐变
- game module 停止运行_详解流量复制解决方案--NGINX的ngx_http_mirror_module模块实现
- 双重差分模型能做固定效应吗_互助问答第53期:控制时间效应、交互项等问题...
- pb 查询客户端ip地址_特别篇-SAP 客户端(配置、测试、生产)