#!/ binに/ bashの #TelnetのBatach 読み取り専用TMOUT = 3 ip_prefix = " 192.168 " ip_network_range = " 80-80 " ip_network_host_range = " 1-254 " PORT_RANGE = " 445から445 " ポート = " 135 445 3389 3306 " execute_num = 3000 関数telnet_batch() { IP = " $ 1 " ポート = " $ 2 " script_ping = ' エコー"" | telnetの' $ IP ' ' $ポート" >を/ dev / null 2 | grepのは、 "エスケープ文字である" &>を/ dev / null; [[$?-eq 0]] &&エコー-e "\ 033 [32メートル' $ IP ' ' $ポートを' \ 033 [0メートルをはい" || エコー-e "\ 033 [36メートル' $ IP ' ' $ポート' なし\ 033 [0メートル>を/ dev / null" " evalの$ script_ping& } 関数sleep_wait() { スリープ 2 [[$(PS -ef | WC -l)-ge $ execute_num]] && sleep_wait。 } 以下のためのポートで $ポート。行う ために私に ` 配列の $(エコー $ ip_network_rangeを| awkの -F ' - ' ' {$ 1印刷} ')$は(エコー $ ip_network_rangeを| awkの -F ' - ' ' {$ 2印刷} ')`; やる [[$(のps -ef | トイレ -l)-ge $ execute_num]] && sleep_waitを。以下のための J で ` 配列の $(エコー $ ip_network_host_rangeを|AWK -F ' - ' ' {$ 1印刷} ')$は、(エコー $ ip_network_host_rangeを| AWK -F ' - ' ' {$ 2印刷} ') `。やる telnet_batch " $ {ip_prefix} $ {I} $ {J}。。" " $ポート"。行わ ; 行わ ; 完了