Gall llinell a gopïwyd o ffeil CRLF edrych fel proxy.example:8080 tra bo'r newidyn mewn gwirionedd yn gorffen â charriage return. Mae rhoi'r newidyn mewn dyfynodau yn cadw'r nod hwnnw; nid yw'n ei dynnu.

Ar gyfer ffeil Bash sy'n cynnwys un URL procs cyflawn fesul llinell:

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

Defnyddiwch gofnodion fel http://proxy.example:8080; mae rhestr procs HTTP yn darparu cyfeiriadau cyhoeddus ymgeisiol i'w fformatio felly. Mae read yn tynnu'r gwahanwr llinell newydd; mae ehangiad ôl-ddodiad yn tynnu un CR olaf os yw'n bresennol. Mae'r amod hefyd yn prosesu llinell olaf nad yw'n wag heb linell newydd.

Mae IFS= yn atal hollti meysydd yn ystod read, ac mae -r yn cadw ôl-slaesau llythrennol. Yna mae dyfynodau dwbl yn trosglwyddo'r URL canlyniadol fel un ddadl curl. Osgoi ailadrodd dros allbwn amnewid gorchmynion: gall hollti geiriau'r plisgyn newid ffiniau cofnodion y ffeil cyn i curl eu gweld.

Mae hyn yn normaleiddio diwedd llinellau. Nid yw'n trwsio protocol gwrando anghywir, pwynt terfyn coll, na gwasanaeth na ellir ei gyrraedd.

Erthyglau cysylltiedig