脚本创建临时文件:

#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