[megoldva]bash: a ping nem eszi meg a változómat

Hozzászólások

szerintem nem jo helyen van a ` a $ADDR utan. nekem a kovetkezo mukodik:


for i in `cat test.i`; do
   ping -c 1 $i -> /dev/null 2>&1;
   if [ $? -eq 0 ]; then
      echo ping $i;
   else
      echo nemping $i;
   fi
done;

Működik ez...

Más kérdés, hogy nem

if `ping ...`

hanem

if ping ...

Neked ui. nem a ping lefutásával gyártott sztringgel van dolgod, hanem a ping által visszaadott exitkóddal.

Amit fentebb csinálsz, egyébként azt műveli, hogy a ping által gyártott sztringnek megfelelő nevű parancsot futtatná le - ami valószínűtlen, hogy volna - és a kísérlet hibakódját kapja az if, annak alapján dönt arról, hogyan tovább.

Ezt a viselkedését pont eldugod a parancs mindennemű kimenetének semmibe irányításával.
Az ilyen átirányításokra ráérsz akkor, amikor már biztos vagy a dolgodban.

Hali!
Ez tök jó. De csak az utókor miatt. Ennyit kellett volna csinálni:
nmap -iL alhalozatok.txt -p80 -oG - |grep open
Meg widecard-okat hozzáadni állományhoz. pl:
10.0.1.*
10.100-101.1.*

ez nagyon jó, nem is értem miért nem keresetem portscan progit, nekem nem volt telepítve, az itthoni ubuntun, de megérte felrakni, így legalább nem nekem kell párhuzamosítani az nc -zv -w2 $ADDR 80 parancsot. Mondjuk a párhuzamosítást nem fogom megúszni, mert nem egyenként akarok dolgozni a nyomtatókkal.