如何在bash中使用mod运算符?
我正在尝试像这样的一行:
for i in {1..600}; do wget http://mydomain.com/search/link $i % 5; done;
我试图得到的输出是:
wget http://mydomain.com/search/link0 wget http://mydomain.com/search/link1 wget http://mydomain.com/search/link2 wget http://mydomain.com/search/link3 wget http://mydomain.com/search/link4 wget http://mydomain.com/search/link0
但是我实际得到的只是:
wget http://mydomain.com/search/link
尝试以下操作:
for i in {1..600}; do echo wget http://mydomain.com/search/link$(($i % 5)); done
$(( ))
语法对内容进行算术评估 。
for i in {1..600} do n=$((i%5)) wget http://mydomain.com/search/link$n done
你必须把你的mathexpression式放在$(())里面。
for i in {1..600}; do wget http://mydomain.com/search/link$(($i % 5)); done;
这可能是无关紧要的。 但是对于循环中的wget,你当然可以
curl -O http://mydomain.com/search/link[1-600]