Eri*_*ric 146 bash arithmetic-expressions modulo
我正在尝试这样一条线:
for i in {1..600}; do wget http://example.com/search/link $i % 5; done;
Run Code Online (Sandbox Code Playgroud)
我想要输出的是:
wget http://example.com/search/link0
wget http://example.com/search/link1
wget http://example.com/search/link2
wget http://example.com/search/link3
wget http://example.com/search/link4
wget http://example.com/search/link0
Run Code Online (Sandbox Code Playgroud)
但我实际得到的只是:
wget http://example.com/search/link
Run Code Online (Sandbox Code Playgroud)
Mar*_*air 208
请尝试以下方法:
for i in {1..600}; do echo wget http://example.com/search/link$(($i % 5)); done
Run Code Online (Sandbox Code Playgroud)
该$(( ))
语法做一个算术评估的内容.
Chr*_*rle 38
for i in {1..600}
do
n=$(($i%5))
wget http://example.com/search/link$n
done
Run Code Online (Sandbox Code Playgroud)
Hig*_* E. 28
你必须将你的数学表达式放在$(())中.
一内胆:
for i in {1..600}; do wget http://example.com/search/link$(($i % 5)); done;
Run Code Online (Sandbox Code Playgroud)
多行:
for i in {1..600}; do
wget http://example.com/search/link$(($i % 5))
done
Run Code Online (Sandbox Code Playgroud)
h__*_*h__ 12
这可能是偏离主题的.但对于for循环中的wget,你当然可以
curl -O http://example.com/search/link[1-600]
Run Code Online (Sandbox Code Playgroud)