脚本编程知识点
1、获取变量中字符的长度
${#VARNAME}
2、变量赋值
${parameter:-word}:如果parameter为空或者未定义,则整个表达式为word;否则表达式值为parameter
${parameter:=word}:如果parameter为空或者未定义,则整个表达式值为world;否则整个表达式值为parameter的值。 "-"和"="号实现的功能是一样的。
${parameter:+word}:如果parameter为空或者未定义,则整个表达式为空;如果parameter有值,则整个表达式为word。
3、截取字符串中的子字符串
${parameter:offset}:截取从offset开始到后面的所有字符串。默认字符串的索引为0。
${parameter:offset:length}:截取从offset开始,取length长度的字符串。
4、脚本配置文件
大多数服务脚本文件都位于/etc/rc.d/init.d/目录下,而这些服务脚本文件也支持配置文件,这些服务脚本的配置文件放在/etc/sysconfig/服务脚本同名的配置文件,要想让服务脚本文件识别这些配置文件,只需在服务脚本文件中读取指定的配置文件即可(通过. /path/to/*.conf方式读取),这样服务脚本文件就可以读取指定的配置文件内容了。
5、全局变量和局部变量
全局变量在整个脚本范围内有效,本地变量可以影响全局变量的值进而影响整个作用域。
本地变量又包括局部变量,局部变量只能在指定作用域内发挥作用。使用local关键字来定义局部变量。
例如:
5、创建临时文件
默认情况下/tmp目录是用来保存临时文件,所以当过了某一段时间之后,该目录下的所以内容都会清空。
如何创建临时文件
使用mktemp命令可以用来创建临时文件
mktemp /tmp/file.XX 默认创建为文件
-d选项用来创建目录的
其中XX表示随机生成的数字,防止生产的临时文件重名
6、信号捕捉
所谓信号捕捉就是当某个进程接受到某个信号时,可以执行某些命令。
在脚本中,是无法捕捉到信号9和信号15的,但是可以捕捉信号1和2等
捕捉信号使用trap命令
trap 'command' 信号列表
如果执行的命令有多个可以使用分号隔开
也可以将执行的命令也在函数里面去,然后在执行trap命令时,使用trap '函数' 信号列表来执行即可
转载于:https://blog.51cto.com/xslwahaha/1537301