Vali puhverserver iga xargs-töö sees
Käivita juhuslik valik alamkestas, et iga paralleelne curl-töö saaks loendist puhverserveri.
Aseta juhuslik valik kesta, mis iga töö jaoks käivitatakse. Käsukäsu asenduse laiendamine väliskestas valib väärtuse enne, kui xargs oma tööd alustab.
Valideeritud proxies.txt-iga, kus igal real on üks puhverserveri URL, võivad avalikud kandidaadid pärineda tasuta puhverserverite loendist; vormista iga kirje curl-i toetatud protokolliga:
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 annab igale käsule ühe URL-i ja -P 4 lubab korraga kuni neli käsku. Nullidega eraldatud sisend säilitab URL-i ühe argumendina. Alakriips võtab sh-i $0 positsiooni, jättes URL-i $1 kohta.
Iga alamkest käivitab shuf-i iseseisvalt. Juhuslik valik võib sama puhverserveri valida rohkem kui üks kord; see ei ole ringkäivitus ega taga erinevaid väljumisaadresse.
Selgesõnaliselt tühi möödaviigu loend hoiab päritud no_proxy seade valitud vahendajast mööda minemast. Näide heidab vastusekehad kõrvale; paralleelsete allalaadimiste salvestamisel kasuta eraldi väljundteid.