我们能写出.sh文件的脚本。已经觉得很好了。但是我们还需要进一步学习脚本框架的概念。
1、Shell脚本(模块)高级命名规则:
1)常规Shell脚本:chang.sh、test.sh等
2)模块的启动和停止统一命名为:start_<module>.sh 、stop_<module>.sh
3)监控的脚本通常是*_mon.sh
4)控制脚本一般以:*_ctl.sh
代码框架:
1)易变的信息最好是定义为变量或者使用特殊位置的参数,让开发的脚本具有通用性。
2)把Shell的通用变量以配置文件的形式单独存放,以功能.cfg来命名并存放在conf目录下,引用时通过在脚本开头引用:source conf/nginx.conf的形式来加载。
3)将程序的功能分段、分模块采用函数等来实现,并存放到单独的函数文件里。如果是通用的公共函数可以存放于/etc/init.d/funcitons下,调用的时候采用source 文件全路径即可。
4)把脚本中的功能和配置明确分开,主脚本只用于实现程序主干,加载配置及加载函数等功能实现应尽量封装在子函数中。
[root@abc scripts]# tree
.
├── bin
│ └── ipsecctl
├── conf
│ └── ipsec.conf
└── func└── functions3 directories, 3 files