2016-04-23 8 views
0

В моем сценарии Bash я должен запустить команду (aircrack-ng), чтобы восстановить результат в var для ее использования позже. Цель состоит в том, чтобы проанализировать вывод файла .cap, чтобы узнать, есть ли какие-то данные (рукопожатие для сетей WPA).Можно ли остановить команду, остановленную в чтении или приглашении?

Проблема в том, что эта команда иногда (в зависимости от файла, который вы хотите проанализировать), останавливается, предлагая пользователю выбрать один вариант. Если файл имеет только данные из одной сети, он не останавливается. Если файл имеет разные сетевые данные, он останавливается.

У меня уже есть результат обработки команды, но проблема в том, что скрипт останавливается. Я бы убил команду сразу после запуска и восстановил вывод в var и не хотел, чтобы скрипт останавливался.

Я попытался запустить его с & в конце, чтобы бежать в фоновом режиме, а затем убить его, но он все равно остановится.

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

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

Есть ли способ запустить первую команду, что вызывает остановку, восстановить выход и убить эту команду без остановки сценария?

+1

Вы можете перенаправить ввод команды на '/ dev/null'. Затем он получит немедленный EOF, когда он попытается получить ответ от пользователя. Или вы можете передать команду «да», чтобы передать ответы на нее. – Barmar

+0

Я пробовал, но если я положил>/dev/null на команду aircrack-ng, я потерял вывод, который хочу поймать в var. :/ – OscarAkaElvis

+0

Это перенаправление вывода, я сказал, чтобы перенаправить ** вход **. Это ' Barmar

ответ

0

woow ... Я нашел его! удивительно просто после головной боли ...

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

простое эхо раньше с трубой сделал трюк! :)

 Смежные вопросы

  • Нет связанных вопросов^_^