O linie copiată dintr-un fișier CRLF poate arăta ca proxy.example:8080, deși variabila se termină de fapt cu un caracter de revenire a carului. Punerea variabilei între ghilimele păstrează acel caracter; nu îl elimină.

Pentru un fișier Bash care conține un URL de proxy complet pe fiecare linie:

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

Folosiți intrări precum http://proxy.example:8080; lista de proxy HTTP oferă adrese publice candidat pentru a fi formatate astfel. read elimină delimitatorul de linie nouă; extinderea sufixului elimină un CR final dacă există. Condiția procesează și ultima linie nevidă fără linie nouă.

IFS= împiedică împărțirea câmpurilor în timpul read, iar -r păstrează barele oblice inverse literale. Apoi ghilimelele duble transmit URL-ul rezultat ca un singur argument curl. Evitați iterarea peste ieșirea substituirii comenzilor: împărțirea în cuvinte a shell-ului poate modifica limitele înregistrărilor fișierului înainte ca curl să le vadă.

Aceasta normalizează terminațiile de linie. Nu repară un protocol de ascultare greșit, un punct final lipsă sau un serviciu inaccesibil.

Articole similare