Dewis y dirprwy o fewn pob tasg xargs
Rhedeg y dewis ar hap yn y plis plentyn fel bod pob tasg curl gyfochrog yn cael dirprwy o'r rhestr.
Rhowch y dewis ar hap y tu mewn i'r plis a gaiff ei gychwyn ar gyfer pob tasg. Mae ehangu amnewid gorchymyn yn y plis allanol yn dewis y gwerth cyn i xargs ddechrau ar ei waith.
Gyda proxies.txt wedi'i ddilysu yn cynnwys un URL dirprwy fesul llinell, gall ymgeiswyr cyhoeddus ddod o'r rhestr dirprwyon am ddim; fformatiwch bob cofnod gyda phrotocol y mae curl yn ei gefnogi:
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"
' _
Mae -n 1 yn rhoi un URL i bob gorchymyn, ac mae -P 4 yn caniatáu hyd at bedwar gorchymyn ar y tro. Mae'r mewnbwn wedi'i wahanu â nwl yn cadw'r URL fel un dadl. Mae'r tanlinell yn cymryd safle $0 sh, gan adael yr URL yn $1.
Mae pob plis plentyn yn rhedeg shuf yn annibynnol. Gall y dewis ar hap ddewis yr un dirprwy fwy nag unwaith; nid yw'n amserlennu cylchynol nac yn warant o gyfeiriadau allanfa gwahanol.
Mae'r rhestr osgoi gwag yn benodol yn rhwystro gosodiad no_proxy a etifeddwyd rhag osgoi'r cyfryngwr a ddewiswyd. Mae'r enghraifft yn taflu cyrff yr ymateb; defnyddiwch lwybrau allbwn ar wahân wrth gadw lawrlwythiadau cyfochrog.