Многопоточность скрипта Bash IP Scanner

394
luciano mallmann2

Мне нужно сделать многопоточный сканер IP, но я его не получаю, мне нужен "seq" для работы с многопоточностью
#! / Bin / bash

function teste(){  for i in $(seq 0 10); do  CONNECT_TIMEOUT=1 # in seconds A="$1." B=$i IP_ADDRESS=$A$B PORT="$"  set +e data=$(curl --head -vs -m $ http://$:$ 2>&1)  exit_code="$?" data=$(echo -ne "$" | grep "Server: ")   set -e  if [[ $ -eq 0 ]]; then if [[ -n "$" ]]; then echo -ne "$ - $" else echo "$ - Got empty data for server!" fi else echo "$ - no server." fi  done  }  set -e  if [[ $# -ne 2 ]]; then echo "Usage: $(basename "$0") ip_address_number port"  exit 1 fi  threads=10;  threads=$(( $threads - 1))  for thread in `seq $threads` do teste $ & done 
0

1 ответ на вопрос

1
Gorgon

Может быть, вы могли бы использовать команду parallelдля ее решения. Образец как

funcOperation(){ # operation procedure }  export -f funcOperation cat ip_port.list | parallel -k -j 0 funcOperation 

Вы также можете использовать seq, здесь я не ставлю образец кода.

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