Ich versuche eine Zeile wie diese:
for i in {1..600}; do wget http://example.com/search/link $i % 5; done;
Was ich als Ausgabe erhalten möchte, ist:
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
Aber was ich tatsächlich bekomme, ist nur:
wget http://example.com/search/link
bash
kehrt nur Rest , nicht mathematisches Modulo - Ergebnis. Dies bedeutet, dass während mathematisch-12 mod 10
ist8
, bash berechnen wird es als-2
. Sie können es mit einfachen Testecho $((-12 % 10))
(-2
) und vergleichen Sie es mitpython3 python3 -c "print(-12 % 10)"
(8
).