Veldu proxy inni í hverju xargs-verki
Keyrðu handahófskennda valið í barnaskelinni svo hvert samhliða curl-verk fái proxy úr listanum.
Settu handahófskennda valið inni í skelinni sem er ræst fyrir hvert verk. Þegar skipanaskipti er víkkað út í ytri skelinni er gildið valið áður en xargs hefur vinnu sína.
Með staðfærðu proxies.txt með einu proxy-URL á hverri línu geta opinberir kandídatar komið úr listanum yfir ókeypis proxy; sniðið hverja færslu með samskiptareglum sem curl styður:
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 gefur hverri skipun eitt URL og -P 4 leyfir allt að fjórar skipanir í einu. Inntakið sem er aðskilið með núllum varðveitir URL-ið sem eitt rök. Undirstrikið tekur $0-stöðu sh og skilur URL-ið eftir í $1.
Hver barnaskel keyrir shuf sjálfstætt. Handahófskennda valið getur valið sama proxy fleiri en einu sinni; það er ekki hringrásaráætlun né trygging fyrir mismunandi útgöngutölum.
Hinn skýrt tómi framhjáhlaupalisti kemur í veg fyrir að arfgefið no_proxy stilling fari fram hjá völdum millilið. Dæmið hendir svarhlutum; notaðu aðskildar úttaksleiðir þegar samhliða niðurhal er vistað.