以系统监控为例详解shell脚本的思路问题
在shell脚本的编写中,思路极为重要。我们以系统信息和运行状态获取脚本为例做一个思路的详细解析。
思路解析
不光是shell脚本,在我们做任何事的时候,都要有一个清晰的思路,才能做到不忙不乱。
一、创建脚本
创建脚本是我们做任何操作的前提,先创建出一个空的脚本。
vim system.sh //创建新的脚本文件
二、理思路
1、目的:查看系统信息和获取运行状态。
目的,即我们编写这个脚本的目的是什么,是为了达成什么样的功能。搞清楚这个才能理清楚方向。
2、手段:用什么工具去帮助达成目的
即我们用什么样的手段去实现我们的目的,很显然,我们是通过shell脚本来实现我们的目的。
其次,我们该使用什么样的工具去实现,是自定义变量?echo?if?while?..
要搞清楚手段和工具就必须要明确我需要实现的功能。
3、步骤:拆解(大方向—小目标----每一步)
我们要实现系统监控,需要监控什么。我把他分成了两大类:
1)系统信息:系统类型、系统版本名称、架构、内核、主机名、内外网IP、DNS、网络连通、登录用户
2)运行状态:CPU负载,内存(系统、应用),磁盘使用率
4、检测
完成基础功能架构后,试运行脚本,检查是否有语法和功能上的问题。
5、完善和优化(格式,颜色,细节)
三、写脚本
#!/bin/bash //指定解释器
clear //清屏
if [[ $# -eq 0 ]];then //提取我有的位置参数的个数,为0往下执行(搭一个基本的框架结构)
#定义变量reset_terminal
reset_terminal=$(tput sgr0) //定义变量恢复端为tput sgr0,等同于\E[0m,清除属性
扩展:shell的tput命令创建交互性的、专业性强的屏幕输出。
如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。
(粗体,闪烁,隐藏,清屏,设置