常用的脚本编程知识点推荐

2、变量赋值等:${parameter:-word}:如果parameter为空或未定义,则变量展开为 word ;否则,展开为parameter的值;${parameter:+word}:如果parameter为空或未定义,不做任何操作;否则,则展开为 word 值;${parameter:=word}:如果parameter为空或未定义,则变量展开为 word ,并将展开后的值赋值给parameter;${parameter:offset}:去掉定义的偏移数${parameter:offset:length}:取子串,从offset处的后一个字符开始,取lenth长的子串

-------------------------------------------------------- 最常使用的是第一种,比如: ${parameter:-word} #A=3 #echo${A:-30}---表示变量A不空时,表达式就使用变量自身的值 #3 #unsetA #echo${A:-30}---表示变量A为空时,表达式就会使用自身的值 #30 #A=${A:-30}---表示变量A为空时,就会使用自身的值赋给变量A #echo$A---表示变量A不空时,就会使用变量A的值再次赋给变量A #30 ${parameter:+word} #A=3 #echo${A:+30}---表示变量A不空时,就会使用word的值 #3 #unsetA #echo${A:+30}---表示变量A为空时,其值为空 #为空 ${parameter:=word} #unsetA #echo${A:=30}--表示变量A为空时,不仅把这个表达式展开为这个字符串,而且把字符串值赋给A #30 ${parameter:offset} #A='helloworld'---定义一个变量 #echo${A:2}---数字2表示变量A中的字符串自左向右偏移2个,显示从偏移后的所有内容 #lloworld ${parameter:offset:length} #echo${A:2:3}---数字2表示变量A中的字符串自左向右偏移2个,数字3表示从偏移位置之后要取3个字符 #llo -----------------------------------------------------------

3、脚本配置文件服务脚本通常放在/etc/rc.d/init.d下,一般命名为:/etc/rc.d/init.d/服务脚本而服务脚本所支持配置文件通常命名为:/etc/sysconfig/服务脚本同名的配置文件(一般脚本支持的配置文件都会放在sysconfig下,就会判定sysconfig中是否为变量提供值,如果没有赋值,就是用下面操作中为变量赋值)比如:编辑一个脚本a.sh,脚本的配置文件定义为a.conf

--------------------------------------------------------- 脚本内容: #!/bin/bash # ./root/a.conf---把a.sh的配置文件读取进来,假设配置文件在/root下,当执行脚本时,脚本会调用配置文件中所定义的字符串 TEST=${TEST:-info}---假如配置文件没有为变量TEST定义内容,就会使用在此处为变量定义的字符串 [-n $TEST ] echo$TEST---如果变量不为空,就显示$TEST的值 为脚本编辑一个配置文件a.conf 配置文件内容: TEST='helloworld'---为变量TEST定义值 --------------------------------------------------------

4、如果脚本中的函数变量与全局变量重名,可以在脚本中使用定义局部变量格式:local VAR_NAME=

--------------------------------------------------------- 下面演示变量的作用域 a=1 test(){ locala=$[3+4] } test forIin`seq$a10`;do echo$I done ---如果在全局中定义的变量a与函数中定义的变量a有冲突,可以使用local来定义 ---如果不加local定义时,输出的结果为78910,加上local定义,输出的结果为从1到10 ---------------------------------------------------------

5、命令mktemp为了避免自己创建文件或目录与别人创建的文件或目录不冲突,我们可以引用命令mktemp创建临时文件,每一次执行这个命令都会生成一个不同名称文件,可以使用一个定义变量引用,这时候文件名称就不会变化;

-------------------------------------- #mktemp/tmp/file.XX #FILE=`mktemp/tmp/file.XX` #echo$FILE 创建临时目录 #mktemp-d/tmp/file.XX #DIR=`mktemp-d/tmp/file.XX` #echo$DIR --------------------------------------

6、信号(信号是进程间通信的一种方式,是一个进程向另一个进程发送短小信息,能够实现控制另外一个进程的运作机制,通常使用kill命令)格式:kill -信号 进程号常使用的信号: 1、HUP 2、INT 9、KILL 15、TERM 脚本中也能实现信号捕捉,但9和15无法捕捉;要想在脚本中实现信号捕捉可以使用trap命令格式:trap ‘COMMAND’ 信号列表通过编辑一个捕捉信号的脚本来演示trap命令的效果;

--------------------------------------------------------- #!/bin/bash NET=192.168.0 trap'echo quit 'INTforIin{200..254};do ifping-c1-W1$NET.$I /dev/null;thenecho $NET.$Iisup. elseecho $NET.$Iisdown. fi done ---当执行quit时,让ping命令捕捉信号,不过只是暂时捕捉,之后还会执行ping命令 ---如果既想执行quit又想exit时,可在上面脚本中一行执行多个语句,语句间用分号分隔 比如:trap'echo quit ,exit1'INT--此处的INT表示捕捉信号 --------------------------------------------------------

与一个赏心悦目的人错肩,真真实实的活着,也就够了。

常用的脚本编程知识点推荐

相关文章:

你感兴趣的文章:

标签云: