Bash curl-proksilisten: helje de efterste CR fuort út CRLF-rigels
Lês proksy-URL's rigel foar rigel yn Bash en helje ien efterste CR fuort út CRLF-bestannen foardat de wearde oan curl jûn wurdt.
In rigel dy't út in CRLF-bestân kopiearre is, kin der as proxy.example:8080 útsjen wylst de fariabele eins einiget mei in carriage return. De fariabele tusken oanheltingstekens sette bewarret dat teken; it hellet it net fuort.
Foar in Bash-bestân mei ien folsleine proksy-URL per rigel:
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
Brûk ynfieringen lykas http://proxy.example:8080; de HTTP-proksylist leveret iepenbiere adreskandidaten om sa te formattearjen. read hellet it nije-rigel-skiedingsteken fuort; de efterheaksel-útwreiding hellet ien efterste CR fuort as dy der is. De betingst ferwurket ek in lêste net-lege rigel sûnder nije rigel.
IFS= foarkomt fjildspliten by read, en -r bewarret letterlike efteroer skrasse streken. Dêrnei jouwe dûbele oanheltingstekens de resultearjende URL as ien curl-argumint. Foarkom it iterearjen oer de útfier fan kommandosubstitúsje: shell-wurdspjalting kin de rigelgrinzen fan it bestân feroarje foardat curl se sjocht.
Dit normalisearret rigeleinen. It reparearret gjin ferkeard harkprotokol, ûntbrekkend einpunt of net berikber tsjinst.