以下是一个将IP段变为IP的shell脚本的例子:

#!/bin/bash

# 获取用户输入的IP段
echo "请输入IP段(格式为x.x.x.x-x.x.x.x):"
read ip_range

# 分割IP段
start_ip=$(echo $ip_range | cut -d'-' -f1)
end_ip=$(echo $ip_range | cut -d'-' -f2)

# 将IP段转换为整数
start_int=$(printf '%d' $(echo $start_ip | awk -F'.' '{print $1*256^3+$2*256^2+$3*256+$4}'))
end_int=$(printf '%d' $(echo $end_ip | awk -F'.' '{print $1*256^3+$2*256^2+$3*256+$4}'))

# 输出IP段中的所有IP
for ((ip_int=$start_int; ip_int<=$end_int; ip_int++))
do
    ip=$(printf '%d.%d.%d.%d\n' $(($ip_int/256/256/256%256)) $(($ip_int/256/256%256)) $(($ip_int/256%256)) $(($ip_int%256)))
    echo $ip
done

使用方法:

  1. 将上述脚本保存为一个名为ip_range_to_ips.sh的文件。
  2. 打开终端,并进入脚本所在的目录。
  3. 运行以下命令来赋予脚本执行权限:
    chmod +x ip_range_to_ips.sh
    
  4. 运行脚本:
    ./ip_range_to_ips.sh
    
  5. 根据提示输入IP段,例如192.168.0.1-192.168.0.10
  6. 脚本将输出IP段中的所有IP
帮我写一个将IP段变为IP的shell脚本

原文地址: https://www.cveoy.top/t/topic/iBld 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录