Placera det slumpmässiga urvalet inuti skalet som startas för varje jobb. Om en kommandosubstitution expanderas i det yttre skalet väljs värdet innan xargs börjar sitt arbete.

Med en validerad proxies.txt med en proxy-URL per rad kan offentliga kandidater komma från listan över gratisproxies; formatera varje post med ett protokoll som curl stöder:

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 ger ett URL till varje kommando, och -P 4 tillåter upp till fyra kommandon samtidigt. Indata avgränsade med nolltecken bevarar URL:en som ett argument. Understrecket tar sh:s $0-position och lämnar URL:en i $1.

Varje barnskal kör shuf självständigt. Det slumpmässiga urvalet kan välja samma proxy mer än en gång; det är inte rundgångsplanering och ingen garanti för olika utgående adresser.

Den uttryckligt tomma förbikopplingslistan hindrar en ärvd no_proxy-inställning från att kringgå den valda mellanhanden. Exemplet kastar svarskropparna; använd separata utdatasökvägar när du sparar samtidiga nedladdningar.

Relaterade artiklar