您的位置:首页 > 运维架构 > Shell

bash脚本创建临时文件以及信号捕捉

2015-02-26 11:18 741 查看
脚本创建临时文件:
#mktemp 创建临时文件或目录
#mktemp [OPTION] FILE.RANDOMLENGTH
[OPTION]
-d 创建目录。
例如:
#mktemp /tmp/file.XX
/tmp/file.36
#mktemp /tmp/file.XX
/tmp/file.37
#mktemp /tmp/file.XX
/tmp/file.38
#mktemp /tmp/file.xxxx
/tmp/file/1234
#mktemp /tmp/file.xxxx
/tmp/file/1235
#mktemp -d /tmp/file.xx
#ll
drwxr-xr-x /tmp/file.33

使用技巧:
#FILE=`mktemp /tmp/file.xx` 将结果保存到FILE变量下,即可多次调用。
#echo $FILE
/tmp/file.33
#echo $FILE
/tmp/file.33
#unset FILE 不使用时删除变量即可。

脚本实现信号捕捉:
9和15无法捕捉。
Ctrl+c = SIGINT 终止。

#trap 扑捉信号
#trap 'COMMAND' SIGLIST

例如:
1.实现信号捕捉:
#vim a.sh
#!/bin/bash
trap 'echo "not end"' INT
while :;do
date
sleep 2
done
2.写一个脚本测试网段内主机通断情况,同时清理脚本产生的临时文件。
#vim ping.sh
#!/bin/bash
NET=192.168.0
FILE=mktemp /tmp/FILE.xxx
clearup(){
echo "quit"
rm -f $FILE
exit 1
}

tarp 'clearup()' SIGINI
for I in {1..254};do
if ping -c 1 -W 1 $NET.$I &> /dev/null;then
echo "$NET.$I is up" |tee >> $FILE
else
echo "$NET.$I is down"
fi
done

本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1615383
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐