Vel proxy innanfyri hvørja xargs-uppgávu
Koyr tilvildarliga valið í barnaskelinum, so hvør paralell curl-uppgáva fær eitt proxy úr listanum.
Set tilvildarliga valið inni í skelinum, sum verður settur í gongd fyri hvørja uppgávu. Tá ið ein boðsavloysing verður útvíst í ytra skelinum, verður virðið valt, áðrenn xargs byrjar sítt arbeiði.
Við einum váttaðum proxies.txt við einum proxy-URL á hvørja linju kunnu almenn evni koma frá listanum yvir ókeypis proxy; formatera hvørja uppføring við einum protokolli, sum curl veitir stuðul fyri:
printf '%s\0' 'https://a.example/one' 'https://b.example/two' |
xargs -0 -n 1 -P 4 sh -c '
proxy=$(shuf -n 1 proxies.txt) || exit 1
[ -n "$proxy" ] || exit 1
curl --fail --silent --show-error --max-time 30 \
--proxy "$proxy" --noproxy "" --output /dev/null "$1"
' _
-n 1 gevur hvørji boð ein URL, og -P 4 loyvir upp til fýra boð í senn. Inntakið, sum er skilt við null, varðveitir URL-ina sum eitt argument. Undirstrikan tekur $0-staðin í sh og letur URL-ina vera í $1.
Hvør barnaskelur keyrir shuf sjálvstøðugt. Tilvildarliga valið kann velja sama proxy meira enn eina ferð; tað er ikki ringrásarætlan og heldur ikki ein trygd fyri ymiskum útgonguadressum.
Tann greiðliga tómi umfaringslistin forðar einari arvaðari no_proxy-stilling í at umfara tann valda millumgongdaran. Dømið kastar svar-líkamanum; brúka serstakar útgonguleiðir, tá ið tú goymir samstundis niðurtøkur.