1、变量中字符的长度:${#VARNAME}

 
2、变量赋值:
${parameter:-word}:如果parameter为空或未定义,则变量展开为“word”;否则,展开为parameter的值
例子:
给出A=3
echo ${A:-30}
此时echo出的值为
3
删除A=3时
unset A
echo ${A:-30}
此时echo出的值为
30

 

shell知识点总结及例子_shell知识点总结及例子

${parameter:offset:length}:取字串,从offset处的后一个字符开始,取了能体会长的字串;
3、脚本配置文件
/etc/rc.d/init.d/服务脚本
服务脚本支持配置文件:/etc/sysconfig/服务脚本同名的
 
如何让配置文件生效:
例子:
写一个脚本  
vim  aa.sh
 

shell知识点总结及例子_shell知识点总结及例子_02

echo不出来任何内容
然后再写个配置文件
vim  aa.sh
 

shell知识点总结及例子_shell知识点总结及例子_03

给一个权限 再执行即可

4.局部变量

local VAR_NAME=

当用函数编程时,定义变量起冲突时,要用local定义变量

5.命令mktemp
创建临时文件或目录
 
mktemp /tmp/file.XX
       -d:创建为目录
当两个临时文件起冲突重名时:
mktemp /tmp/file.XX
 
其例子如图:
 

shell知识点总结及例子_shell知识点总结及例子_04

6.信号

kill -SIGNAL PID

    1:HUP

    2:INT:终止

    9:KILL

    15:TERM

 

脚本中,能实现信号捕捉,但9和15无法捕捉

 

Ctrl+c:SIGINT

 

trap命令:可以直线信号捕捉

     trap `COMMAND` 信号列表

 

例子:

写一个脚本:每隔两秒钟就显示一下当前时间:

vim  aaa.sh

 

shell知识点总结及例子_shell知识点总结及例子_05

捕捉信号时,在前一个脚本中加trap `       `INT  即可

 

 7,一行执行多个语句,语句间用分号分隔

 

一行执行多个语句时,在语句之间加个“;”,即表示执行两个命令。