如果我遇到 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会帮忙补充。例如我的代码:

如果$i192.168.0.10相遇,不会打印192.168.0.10,会打印192.168.0.1010.

如果0满足1020,我该如何删除?

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))