从2005年开始,做了将近10年的系统维护,先是做网络接入管理,然后做网络安全与审计,然后做服务器管理等整个网络系统的运营管理;现在又兼着做一些Linux下的视频监控系统的软硬件维护。过程中遇到太多重复性任务,比如终端用户的管理策略下发(日志大小空间大小设置、服务启用、网络NetBIOS设置、USB设备检查、时间服务设置、补丁升级以及IPSec策略下发),Linux下的iptables及常规服务安装等,必须借助脚本来实现。当然用起来效果会相当的好,把手动10来分钟的任务使用脚本在不到1分钟就完成,而且不会出错,很不错啊。如果是10台终端,没有多大意义,那么到上千台终端,效果就很明显了,尤其用户水平不高且维护人员又紧缺。
1、某种程度上讲,“windows的批处理”与“Linux的shell script”都是将一系列重复执行的任务,使用一系列相关联的命令行来简化处理过程,他们都必须有如下知识前提:
编程的思想:有逻辑管理,有状态,有模块化思想。主要用于模拟管理者的思想。
系统管理命令:在编程的基础上逻辑应用系统命令来执行任务,模拟人工操作。
2、在变量应用方面
windows下常用set ,可以设置,也可以/p来读取输入。
Linux下则相对简单,只是读入时需要用到read -p;并且,Linux下更为智能化。
3、脚本与过程调用
它们都存在过程设计,可以用模块化设计来组织功能,并且可以传参。
4、逻辑控制
它们都存在if、for语句控制,Linux下除了有自己的格式,还可以使用类C风格语句。
在选择方面,windows下有choice,Linux下则有select。
至于不同点,则需要区分学习了。真的很方便。