Выполнить несколько команд в новом окне в течение l oop одновременно - PullRequest
0 голосов
/ 04 февраля 2020

Итак, я работаю над сценарием bash, который использует такой инструмент, как nmap, для сканирования нескольких хостов одновременно. Я попытался использовать & в конце команды, но он откроет одно новое окно, запустит команду, а затем запустит команду для второго хоста в for l oop. Есть ли способ заставить скрипт bash запускать одну и ту же команду с разными переменными в двух новых windows одновременно?

Вот код, который я пытаюсь запустить:

#!/bin/bash
HOST_LIST=$1
get_hosts() {
        echo "HOSTS TO SCAN:"
        read HOST_LIST
        golismero_scan
}
golismero_scan() {
        for HOST in $HOST_LIST; do export TERMHOST=$HOST; x-terminal-emulator -e bash -c 'golismero scan $TERMHOST -o $TERMHOST.html -db $TERMHOST.db' & done
}
if [ -z "$HOST_LIST" ]
then
        echo "\$var is empty"
        get_hosts
else
        echo "\$var is NOT empty"
        golismero_scan
fi
exit
...