“windows的批处理”与“Linux的shell script”的类比学习
从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。
至于不同点,则需要区分学习了。真的很方便。
“windows的批处理”与“Linux的shell script”的类比学习的更多相关文章
- Linux的shell script
Linux的shell script //编辑shell: vi a.sh //子进程运行shell sh a.sh //主线程运行shell source a.sh 相关例子: #!/bin/bas ...
- linux中shell script的追踪与调试
Shell调试篇 sh [-nvx] scripts.sh -n:不要执行script,仅查询语法的问题: -v:在执行script前,先将script的内容输出到屏幕上: -x:将使用到的scrip ...
- 一起来学linux:shell script(一)关于变量
p { margin-bottom: 0.25cm; line-height: 120% } (一)首先来看什么是变量,在shell中打印出变量采用的是echo $path或者echo ${path} ...
- 一起来学linux:shell script(二)关于脚本
(一)首先来看shell脚本的执行方式,shell脚本的后缀名都是sh文件. 1 sh test.sh 2 source test.sh 这两种方式有什么区别呢.test.sh 里的脚本很简单, 从键 ...
- 调用远程linux服务器shell脚本
package com.haiyisoft.hyoaPc.ui; import java.io.BufferedReader;import java.io.IOException;import jav ...
- Jenkins 六: 构建中执行shell或者 windows的批处理程序
Shell/ bat Jenkins 可以在构建中执行shell命令或者windows的batch 命令. 1. 选择一个项目,点击“配置”. 2. 找到“构建” –> “增加构建步骤”.选择 ...
- (copy) Shell Script to Check Linux System Health
source: http://linoxide.com/linux-shell-script/shell-script-check-linux-system-health/ This article ...
- Shell script for logging cpu and memory usage of a Linux process
Shell script for logging cpu and memory usage of a Linux process http://www.unix.com/shell-programmi ...
- linux基础之Shell Script入门介绍
本文介绍下,学习shell script编程的入门知识,通过几个入门实例,带领大家走进shell script的神圣殿堂,呵呵,有需要的朋友参考下. 本文转自:http://www.jbxue.com ...
随机推荐
- is not writable or has an invalid setter method错误的解决
java中在配置spring时,遇到is not writable or has an invalid setter method的错误一般是命名方式的问题 需要写成private userInfoD ...
- 在使用 #import <objc/message.h>时 xcode 报 :Too many arguments to function call, expected 0 , have * 解决方法
选中项目 - Project - Build Settings -
- RabbitMQ的安装与管理控制台设置
首先下载安装Erlang环境:http://www.erlang.org/downloads: 再下载安装RabbitMQ:http://www.rabbitmq.com/download.html: ...
- 手机端head部分
<!doctype html> <html lang="zh"> <head> <meta charset="utf-8&quo ...
- JS----贪吃蛇游戏
在网上找到的几种例子 <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type&q ...
- vue iview tree checked改变 不渲染的问题
子级的状态 改为checked=false 需要把父的状态改为 false
- Python Try Except
Python Try: Except Except 类型一: try: file_size = os.path.getsize('maoyan.csv'); except OSError as err ...
- python lambda 函数
lambda 函数,也叫匿名函数,是一个不需要使用def 关键字定义的小函数.返回一个函数地址. 表达式只能有一个,参数可以有多个. a = lambda x:x*x a(3) 返回的是9
- git图片
- JAVA jar 参数
-client to select the "client" VM -server to select the "server" ...