Linux shell脚本终止程序,但不终止脚本本身

Linux shell脚本终止程序,但不终止脚本本身,linux,shell,shell-trap,Linux,Shell,Shell Trap,我使用shell脚本自动搜索网络访问点,在airodump中使用ctrl+c停止搜索,我希望它取消搜索,但保持shell脚本运行。因为我想在搜索完wifi网络后进行用户输入。我尝试使用陷阱,它停止了airodump,我的脚本也停止了 我只是想停止airodump wifi搜索并转到用户输入的shell脚本。我并不完全清楚,但我相信您希望用户能够通过ctrl-C交互式地停止搜索,然后提示输入。这应该做到: #!/bin/sh trap 'test "$airo" && kill

我使用shell脚本自动搜索网络访问点,在airodump中使用ctrl+c停止搜索,我希望它取消搜索,但保持shell脚本运行。因为我想在搜索完wifi网络后进行用户输入。我尝试使用陷阱,它停止了airodump,我的脚本也停止了


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

我并不完全清楚,但我相信您希望用户能够通过
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

这是在我的脚本的中间,这是否需要在脚本的开头?O给了它一个机会,但它仍然终止了脚本。我只想结束airodump wifi搜索,但不是shell脚本,我的意思是它不必是ctrl+C,因为这可能会导致冲突?如果在设置陷阱之前发送SIGINT(这是ctrl-C通常所做的),那么脚本将终止。你是什么意思?我需要在脚本开头键入SIGNIT吗?我可以从单独的终端使用pkill命令,我的脚本继续,那么有没有办法在shell脚本中将密钥绑定到该命令?如果你想终止脚本,那么你应该在脚本设置SIGINT陷阱之前键入ctrl-C,但听起来你好像不想终止脚本。我不清楚你到底在做什么来终止脚本。您是否启动它,然后立即向其发送信号?如果是这样,并且您不希望脚本终止,那么您应该在脚本的早期设置陷阱。好的,我将它放在脚本的开头,工作正常,但它会发送一个错误,例如没有这样的过程。我的意思是我的脚本仍在继续,但如果可能,我希望删除该错误。