如何在shell脚本中将字符串转换为整数?

时间:2018-01-30 06:20:50

标签: bash shell

在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。

0 个答案:

没有答案