linux 我想在Bashscript代码中添加另一个IP地址二进制八位数(255.255.x.y

8cdiaqws  于 2023-01-08  发布在  Linux
关注(0)|答案(1)|浏览(110)

我想在下面的脚本中再添加一个二进制八位数(192.168.x.i):

IPPFX=$1
for i in `seq 1 255` ; do LIST="$LIST ${IPPFX}.$i" ; done
for i in $LIST ; do
    ENTRY="`host $i`"
    [ $? -ne 0 ] && continue
    ENTRY=`echo "$ENTRY" l sed -e 's/.* //' -e 's/\.$//'`
    echo -e "$i\t$ENTRY"
done

我试着加上

IPPFX=$1
for i in `seq 1 255` ;
for j in `seq 1 255` do LIST="$LIST
${IPPFX}.$j.$i" ; done 
for i in $LIST ;
for j in $LIST ; do
    ENTRY="`host $j.$i`"
    [ $? -ne 0 ] && continue
    ENTRY=`echo "$ENTRY" l sed -e 's/.* //' -e 's/\.$//'`
    echo -e "$j$i\t$ENTRY"
done
njthzxwz

njthzxwz1#

也许你想要这样的东西:

#!/bin/bash

ippfx=$1
for ip in "$ippfx".{0..255}.{0..255}; do
    entry=$(host "$ip" | sed 's/.* //; s/\.$//') || continue
    printf '%s\t%s\n' "$ip" "${entry//$'\n'/ }"
done

这样调用脚本

./tst 216.58

具有两个八位字节。

相关问题