在Bash脚本中,我想通过点分隔符拆分IP。 但是当我在For Loop中传递一个变量时,它表现得像字符串。
StartIP=10.10.140.10
EndIP=10.10.140.15
StartIP_Prefix_1=`echo $StartIP | awk -F"\." '{print $1}'`
StartIP_Prefix_2=`echo $StartIP | awk -F"\." '{print $2}'`
StartIP_Prefix_3=`echo $StartIP | awk -F"\." '{print $3}'`
StartIP_Prefix_4=`echo $StartIP | awk -F"\." '{print $4}'`
EndIP_Prefix_3=`echo $EndIP | awk -F"\." '{print $3}'`
EndIP_Prefix_4=`echo $EndIP | awk -F"\." '{print $4}'`
IP_Prefix=$StartIP_Prefix_1.$StartIP_Prefix_2
IP_Range=$IP_Prefix.{$StartIP_Prefix_3..$EndIP_Prefix_3}.
{$StartIP_Prefix_4..$EndIP_Prefix_4}
for ip in $IP_Range
do
echo $ip
done
运行脚本后,显示10.10。{40..40}。{10..15}
期待:我希望它显示所有的IP,如: 10.10.140.10 10.10.140.11 10.10.140.12 10.10.140.13 10.10.140.14 10.10.140.15
请告诉我是否有其他方法可以找出两个IP之间的IP。