2013-02-19 109 views
-1

我正在使用shell脚本自动搜索网络访问点,并在airodump中使用ctrl + c来停止搜索,并且我希望它取消搜索,但让我的运行的shell脚本。因为我在完成无线网络搜索后想做用户输入。我试图使用陷阱,它停止airodump和我的脚本。shell脚本终止程序,但不是脚本本身

我只是想停止airodump wifi搜索和移动到我的shell脚本的用户输入。

回答

1

这并不完全清楚,但我相信你希望用户能够通过ctrl-C交互式地停止搜索,然后提示输入。这应该这样做:

#!/bin/sh 

trap 'test "$airo" && kill -2 $airo' 2 
airodump ... & 
airo=$! 
wait 
unset airo 

# Commands here will execute after the user hits ctrl-C to terminate the search 
+0

这是在我的脚本中,这是否需要在脚本的开始? O给了它一个镜头,它仍然终止了剧本。我只想结束airodump wifi搜索,但不是shell脚本,我的意思是它不一定是ctrl + C,因为也许这会导致冲突? – andyADD 2013-02-19 22:47:50

+0

如果在设置陷阱之前发送了SIGINT(这是ctrl-C通常所做的),那么脚本将终止。 – 2013-02-19 22:57:16

+0

你是什么意思?我需要在脚本的开始处输入SIGNIT还是什么?我能够从单独的终端使用pkill命令并继续执行我的脚本,那么有没有办法在shell脚本中将键绑定到该命令? – andyADD 2013-02-19 23:38:47