Хранение вывода nmap в переменной bash для последующего использования

Я пытаюсь сохранить сетевые хосты в ассоциативном массиве таким образом

#!/bin/bash declare -A hosts while IFS=" " read -r host ip ; do hosts["$host"]=$ip done < <(nmap -sn -oG - 192.168.1.0/24 | awk '/^Host/ {print $3, $2}') for host in "${!hosts[@]}"; do echo "$host -> ${hosts[$ip]}" done

Я пытаюсь получить значение, хранящееся в массиве, и выход вроде этого

1- (home router) 192.168.1.1 2- (android-100) 192.168.1.223 3- (my box) 192.168.1.30 4- (android-111) 192.168.1.32

С возможностью пинга машины в строке номер 2, например

Может кто-нибудь сказать мне, что я делаю неправильно в первой части, и если что-то не так с этим подходом? [ ! d3]

0
задан 16 November 2017 в 07:46

0 ответов

Другие вопросы по тегам:

Похожие вопросы: