Ei linje kopiert frå ei CRLF-fil kan sjå ut som proxy.example:8080 medan variabelen faktisk sluttar med ein carriage return. Å setje variabelen i hermeteikn bevarar teiknet; det fjernar det ikkje.

For ei Bash-fil med éin fullstendig proxy-URL per linje:

target='https://api.example/'
while IFS= read -r proxy || [ -n "$proxy" ]; do
    proxy=${proxy%$'\r'}
    if [ -z "$proxy" ]; then
        continue
    fi
    curl --proxy "$proxy" --max-time 10 --url "$target"
done < ProxyList.txt

Bruk oppføringar som http://proxy.example:8080; HTTP-proxylista gir offentlege adressekandidatar som kan formaterast slik. read fjernar linjeskiftteiknet; suffiksutvidinga fjernar éin etterfølgjande CR om han finst. Vilkåret handsamar òg ei siste ikkje-tom linje utan linjeskift.

IFS= hindrar feltdeling under read, og -r bevarar bokstavelege omvendte skråstrekar. Deretter sender doble hermeteikn den resulterande URL-en som eitt curl-argument. Unngå å iterere over utdata frå kommandosubstitusjon: orddelinga til skalet kan endre postgrensene i fila før curl ser dei.

Dette normaliserer linjesluttar. Det rettar ikkje ein feil lyttande protokoll, eit manglande endepunkt eller ei utilgjengeleg teneste.

Relaterte artiklar