stty size可以显示终端的大小,即行数和列数。
脚本编程知识点:
1.变量中的字符的长度:${VARNAME}
2.变量赋值
${parameter:-word}:如果parameter为空或未定义,则变量展开为"word",否则展开为parameter的值
${paramter:+word}:如果parameter为未定义,不做任何操作,否则,展开为“word”值
${paramter:=word};如果parameter为空或未定义,则变量展开为“word”,并将展开后的值给parameter;
${parameter:offset}
${parameter:offset:length}:取字串,从offset处后一个字符开始,length
3.脚本配置文件
/etc/rc.d/init.d/服务脚本
服务脚本支持配置文件:/etc/sysconfig/服务脚本同名的配置文件
- 局部变量
local VAR_NAME=
5.命令mktemp
创建临时文件或者目录
mktemp /temp/file.XX
-d:创建目录
6.信号
kill -SINGAL PID
1:HUP
2:INT(Ctrl+C)
9.KILL
15.TERM
脚本中,能实现信号捕捉,但是9和15无法捕捉
trap命令:
trap ‘COMMAND’ 信号列表
7.一致性多个语句,语句间用分号分隔
c1是指ping的次数,-w是指执行的最后期限,也就是执行的时间,单位为秒
!/bin/bash
NET=192.168.0
trap 'echo "quit."exit 1' INT
for I in {200..254};do
if ping -c 1 -w 1 $NET.$1 &> /dev/null; then
echo "$NET.$1 is up"
else
echo "$NET.$1 is down"
fi
done
!/bin/bash
NET=192.168.0
clearup(){
echo "quit..."
exit 1
}
trap 'clearup' INT
for I in {200..254};do
if ping -c 1 -w 1 $NET.$1 &> /dev/null; then
echo "$NET.$1 is up"
else
echo "$NET.$1 is down"
fi
done