Bash curl milliþjónalistar: fjarlægja CR í lok CRLF-lína
Lestu milliþjóna-URL-slóðir línu fyrir línu í Bash og fjarlægðu eitt CR í lok CRLF-skráa áður en gildinu er komið til curl.
Lína afrituð úr CRLF-skrá getur litið út eins og proxy.example:8080 þótt breytan endi í raun á vagnskeyrslu. Að setja breytuna í gæsalappir varðveitir það tákn; það fjarlægir það ekki.
Fyrir Bash-skrá sem inniheldur eina heildar milliþjóna-URL á hverri línu:
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
Notaðu færslur eins og http://proxy.example:8080; HTTP-milliþjónalistinn býður opinber heimilisföng sem hægt er að forsníða þannig. read fjarlægir nýlínuskilgreininn; viðskeytisútvíkkunin fjarlægir eitt CR í lok ef það er til staðar. Skilyrðið vinnur einnig úr síðustu ótómu línu án nýlínu.
IFS= kemur í veg fyrir sviðaskiptingu meðan á read stendur og -r varðveitir bókstaflega bakstriki. Síðan senda tvöfaldar gæsalappir URL-slóðina sem eitt curl-rök. Forðastu að endurtaka yfir úttak skipanaskiptingar: orðaskipting skeljarinnar getur breytt skrárskilyrðum skrárinnar áður en curl sér þau.
Þetta staðlar línuendana. Það lagar ekki rangan hlustunarstaðal, vantað endapunkt eða óaðgengilega þjónustu.