脚本创建临时文件:
#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