是否可以停止在读取或提示中停止的命令?

Is possible to stop a command stopped in a read or prompt?

在我的 Bash 脚本中,我必须启动命令 (aircrack-ng) 以在 var 中恢复输出以供以后使用。目标是解析 .cap 文件的输出,以了解是否存在某种数据(WPA 网络的握手)。

问题是此命令有时(取决于您要解析的文件)停止提示用户选择一个选项。如果文件只有来自一个网络的数据,它不会停止。如果文件有不同的网络数据,它会停止。

我已经解析了命令的输出,但问题是脚本停止了。我会在启动后立即终止命令并将输出恢复到 var 并且不希望脚本停止。

我试着在后台用 & 在末尾启动它到 运行 然后杀死它,但它还是停止了。

nets_from_file=$(aircrack-ng /path/to/somefile.cap 2> /dev/null | egrep "WPA \(1" | awk '{ saved = ;  = ""; print substr([=10=], 2) }' &)

kill -9 $(ps aux | grep aircrack-ng | grep -v "grep" | awk '{print}') > /dev/null 2>&1

有没有办法在不停止脚本的情况下启动导致停止的第一个命令、恢复输出并终止该命令?

哇...我找到了!头痛之后非常简单...

nets_from_file=$(echo "1" | aircrack-ng /path/to/somefile.cap 2> /dev/null | egrep "WPA \(0"  | awk '{ saved = ;  = ""; print substr([=10=], 2) }')

一个简单的 echo before with pipe 就成功了! :)