首页 > 代码库 > 脚本初步

脚本初步

       运维工作不出事故的时候,我们的工作基本上很重复。很多大公司因为这个特性,都在实现运维自动化。我们也很羡慕大公司的运维们,怎么办,自己动手打造自动化平台,开玩笑呢,别当真。我们把日常工作需要的命令写入脚本,每天我们都去执行一下,然后喝茶聊天打屁就好了。

       写脚本都要哪些技能呢!首先我们要明白脚本的本质是什么?脚本就是基于bash解释器,写的一堆命令的集合。既然是命令集合那么他就有执行顺序,脚本的执行顺序是从上至下依次执行每一个命令(每一个命令就是每一行的命令),脚本处理什么东西,处理数据,这些数据既可以是不变的数据,也可以是我们临时想传给脚本的。接下来我一个个说构成脚本的部件:向脚本传的参数,变量,命令执行控制,数值测试,字符测试,文件测试。

脚本参数

       我们学了很多命令,很多命令都有很多参数,我们也可以创造一个这样的命令。传参数很简单,在脚本内怎么引用。

       $0                 引用脚本名字

       $#                 引用第#个参数

       $@               一个一个的想脚本内部传参数

       $*                 把参数以一个字符串向内部传递

变量

       有时我们需要的一个数据,需要两个数据相加得到,而这两个数据我们不能一次全部得到,这时我们需要先把数据暂存一个东西内。我们把这个暂存数据的东西,叫变量。

       变量暂存数据,它存什么数据,是整数还是浮点数还是字符串。在Linux中的脚本,模糊了数据类型,都放到同一个变量。之所以规定数据类型不仅仅是为了运算,同时也可以省空间。

       Linux是多用户系统,我们声明一个变量后和隔壁声明的变量同名咋办?嗯,linux把变量作用的范围进行了规范。

       环境变量:这个变量声明后,它不仅仅对自己有效,它就像基因会遗传给他的子进程。

       本地变量:只对自己有效

       局部变量:只对一部分函数(就好比linux中的命令)有效。

       引用变量的时候使用:$变量名

执行控制

       有时我们写脚本需要根据不同的情景显示不同的数据,在一般的编程语言有控制语句和执行流控制语句,bash中也有,这里我们只说最简单的控制方法。

       脚本执行的时候,是每一行每一行的向下逐行执行。那我们控制它只执行一部分命令就需要,把两个不同的语句放在一行。控制符有这两个:

       &&               它的功能,前一个命令执行成功,后一条命令才会执行

       ||                   它的功能,前一个命令执行失败,后一条命令才会执行

       If

       For

运算

       数值运算是每个命令必不可少的功能,bash的运算符合有以下几种:

       逻辑运算

       &          

       |            

                

       算术运算

       +          

       -           

       *           

       /             除,得整数

       %            取模,求余

数值测试

       运算符有了,比较运算也不能少

       -gt                大于

       -ge               大于等于

       -eq               等于

       -ne               不等于

       -lt                 小于

       -le                小于等于

字符串测试

       不说了字符串测试,也是必须的

       ==

       >           逐个字符比较

       <

       !=

       =~         左侧能否右侧匹配

       忘了

文件测试

       。。。。。。。。

       1文件类型测试    

       -e

       -f

       -d

       -L|-h

       -c

       -b

       -p

       -S

       2权限测试

       -r

       -w

       -x

       -u

       -g

       -k

       3属性

       -s

       -O

       -G

       4双目测试

       -ef

       -nt

       -ot

交互式脚本

       脚本怎么向外,申请参数,就像passwd命令。

       Read-p“”

总结

       交互式脚本和我们的关系不是很大,合理运用脚本我们的工作会大大减轻,运用前我们要熟悉脚本各命令的逻辑关系,熟悉脚本书写的格式,方便我们使用和判断脚本执行失败的排错。

       $#


本文出自 “老王linux旅程” 博客,请务必保留此出处http://oldking.blog.51cto.com/10402759/1876851

脚本初步