如果我遇到 10 或 20,如何删除变量的最后一位?
How to delete last digit of the variable if I meet 10 or 20?
请看上面的代码:
我什至希望 ping ip 地址,例如:
192.168.1.102, XXX.XXX.XXX.104, XXX.XXX.XXX.108......XXX.XXX.XXX.120.
但我遇到的问题是我将我的变量设置为只允许数字。遇到10我要怎么改,遇到20会帮忙补充。例如我的代码:
如果$i
在192.168.0.10相遇,不会打印192.168.0.10,会打印192.168.0.1010.
如果0满足10或20,我该如何删除?
for((i=2; i<=20; i=i+2 ));
do
#echo $i
ip=192.168.1.10$i
echo $ip
done
$ for i in $(seq 102 2 120)
> do
> echo "192.168.1.${i}"
> done
192.168.1.102
192.168.1.104
192.168.1.106
192.168.1.108
192.168.1.110
192.168.1.112
192.168.1.114
192.168.1.116
192.168.1.118
192.168.1.120
或者您可以修改您的代码如下:
for((i=102; i<=120; i=i+2 ))
do
ip="192.168.1.${i}"
echo $ip
done
您可以在 $((...))
.
内部执行算术运算
ip=192.168.1.$((100+i))
请看上面的代码:
我什至希望 ping ip 地址,例如:
192.168.1.102, XXX.XXX.XXX.104, XXX.XXX.XXX.108......XXX.XXX.XXX.120.
但我遇到的问题是我将我的变量设置为只允许数字。遇到10我要怎么改,遇到20会帮忙补充。例如我的代码:
如果$i
在192.168.0.10相遇,不会打印192.168.0.10,会打印192.168.0.1010.
如果0满足10或20,我该如何删除?
for((i=2; i<=20; i=i+2 ));
do
#echo $i
ip=192.168.1.10$i
echo $ip
done
$ for i in $(seq 102 2 120)
> do
> echo "192.168.1.${i}"
> done
192.168.1.102
192.168.1.104
192.168.1.106
192.168.1.108
192.168.1.110
192.168.1.112
192.168.1.114
192.168.1.116
192.168.1.118
192.168.1.120
或者您可以修改您的代码如下:
for((i=102; i<=120; i=i+2 ))
do
ip="192.168.1.${i}"
echo $ip
done
您可以在 $((...))
.
ip=192.168.1.$((100+i))