En rad kopierad från en CRLF-fil kan se ut som proxy.example:8080 medan variabeln faktiskt slutar med en carriage return. Att sätta variabeln inom citattecken bevarar tecknet; det tar inte bort det.

För en Bash-fil med en fullständig proxy-URL per rad:

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

Använd poster som http://proxy.example:8080; HTTP-proxylistan tillhandahåller offentliga adresskandidater att formatera så. read tar bort radbrytningstecknet; suffixutökningen tar bort en efterföljande CR om den finns. Villkoret hanterar också en sista icke-tom rad utan radbrytning.

IFS= förhindrar fältdelning under read, och -r bevarar bokstavliga omvända snedstreck. Sedan skickar dubbla citattecken den resulterande URL:en som ett curl-argument. Undvik att iterera över utdata från kommandosubstitution: skals orddelning kan ändra filens postgränser innan curl ser dem.

Detta normaliserar radslut. Det åtgärdar inte ett felaktigt lyssnarprotokoll, en saknad slutpunkt eller en oåtkomlig tjänst.

Relaterade artiklar