在将变量递增一个用户提供的次数时应用固定偏移量

时间:2017-08-13 00:08:38

标签: linux bash

我想创建一个文件,打印我使用我拥有的脚本创建的代理数量。

这就是我所拥有的,但由于某种原因,它没有给我我想要的输出。

innerHtml

在我回答问题之后可以说:

echo "How many proxies will you like to create?"
read userInput


for (( portid=10000; portid<=$userInput; portid++ ))
do  
    echo 42.56.35.1:$portid:test:run
done

我回复

How many proxies will you like to create?

然后我希望我的输出为:

5

我希望数字从10000继续,依此类推,但取决于我告诉它的代理数量。

1 个答案:

答案 0 :(得分:2)

您的问题是,当portid超过5(或用户输入的任何值)时,您要告知循环结束 - 但是您要在以下位置初始化它10000,所以除非用户要求的范围非常大,否则总是超过5。

一种简单的方法是从1开始循环,并在循环内应用偏移:

for (( portid=1; portid<=userInput; portid++ ))
do  
    echo "42.56.35.1:$(( portid + 10000 )):test:run"
done

另一种方法是在两端应用增量:

for (( portid=10001; portid<=(userInput + 10000); portid++ ))
do  
    echo "42.56.35.1:$portid:test:run"
done