Saya mencoba garis seperti ini:
for i in {1..600}; do wget http://example.com/search/link $i % 5; done;
Apa yang saya coba dapatkan sebagai output adalah:
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
Tapi yang saya dapatkan sebenarnya hanya:
wget http://example.com/search/link
bash
imbalannya hanya tersisa , bukan hasil modulo matematika . Ini berarti, bahwa sementara matematis-12 mod 10
adalah8
, bash akan menghitung sebagai-2
. Anda dapat mengujinya dengan sederhanaecho $((-12 % 10))
(-2
) dan membandingkannya denganpython3 python3 -c "print(-12 % 10)"
(8
).$(())
akan secara otomatis memperluas variabel sehingga Anda tidak perlu$
menggunakani
. Ini$((i % 5))
akan bekerja dengan sangat baik.sumber
Anda harus meletakkan ekspresi matematika Anda di dalam $ (()).
Satu-liner:
Beberapa baris:
sumber
Ini mungkin di luar topik. Tetapi untuk wget in for loop, Anda tentu bisa melakukannya
sumber