标签:trap
1、变量中字符的长度:${#VARNAME}
[root@fox ~]# tt=kad123; echo ${ #tt }
6
2、变量赋值等:
${parameter:-word}:如parameter为空或未定义,则变量展开为“word”;否则,展开为parameter的值;
${parameter:+word}:如parameter为空或未定义,不做任何操作;否则,则展开为“word”值;
${parameter:=word}:如parameter为空或未定义,则变量展开为“word”,并将展开后的值赋值给parameter;
${parameter:offset}
${parameter:offset:length}:取子串,从offset处的后一个字符开始,取lenth长的子串;
[root@test tmp]# A=33
[root@test tmp]# echo ${A:-50}
33
[root@test tmp]# unset A #删除变量
[root@test tmp]# echo ${A:-50}
50
3、脚本配置文件
/etc/rc.d/init.d/服务脚本
服务脚本支持配置文件:/etc/sysconfig/服务脚本同名的配置文件
[root@fox ~]# cat a.sh
#!/bin/bash
. /root/a.conf
TEST=${TEST:-info}
[ -n "$TEST" ] && echo $TEST
[root@fox ~]# cat a.conf
TEST=
[root@fox ~]# ./a.sh
info
4、局部变量 local VAR_NAME=
5、创建临时文件或目录: mktemp /tmp/file.XX
-d: 创建为目录
[root@fox ~]# FILE=`mktemp /tmp/file.XXXXX`
[root@fox ~]# echo $FILE
/tmp/file.RnDpc
[root@fox ~]# FILE=`mktemp -d /tmp/file.XXXXX`
[root@fox ~]# file $FILE
/tmp/file.GzxiL: directory
6、信号 kill -SIGNAL PID 1: HUP 2: INT 9: KILL 15: TERM
脚本中,能实现信号捕捉,但9和15无法捕捉 Ctrl+c: SIGINT
trap命令:
trap‘COMMAND‘ 信号列表
#!/bin/bash
#
I=131
FILE=`mktemp /tmp/file.XXXXXX`
clearup() {
rm -f $FILE && echo " quit, bye..."
exit 1
}
trap ‘clearup‘ INT
for I in {200..210} ; do
ping -c 1 110.119.131.$I &> /dev/null
NU=$?
if [ $NU -eq 0 ] ; then
echo "110.119.131.$I is up."
else
echo "110.119.131.$I is down."
fi
done
---end---
标签:trap
原文地址:http://wangfx.blog.51cto.com/1697877/1878927