Shell 脚本:自动生成指定 IP 段的所有 IP 地址
#!/bin/bash
输入起始 IP 地址和结束 IP 地址
read -p '请输入起始 IP 地址:' start_ip read -p '请输入结束 IP 地址:' end_ip
对输入进行校验
if [[ ! $start_ip =~ ^[0-9]+.[0-9]+.[0-9]+.[0-9]+$ || ! $end_ip =~ ^[0-9]+.[0-9]+.[0-9]+.[0-9]+$ ]]; then echo 'IP 地址输入有误,请重新输入!' exit 1 fi
将 IP 地址转换为整数
start_int=$(printf "%d\n" "$(echo '$start_ip' | tr '.' '\n' | awk '{s = s * 256 + $1} END{print s}')") end_int=$(printf "%d\n" "$(echo '$end_ip' | tr '.' '\n' | awk '{s = s * 256 + $1} END{print s}')")
循环生成 IP 地址并输出到文件
for ((i=start_int; i<=end_int; i++)); do ip=$(printf "%d.%d.%d.%d\n" $((i>>24)) $(((i&0xffffff)>>16)) $(((i&0xffff)>>8)) $((i&0xff))) echo $ip >> test_ip.txt done
echo 'IP 地址生成完毕,已输出到 test_ip.txt 文件中!'
原文地址: https://www.cveoy.top/t/topic/n1SF 著作权归作者所有。请勿转载和采集!