CRLF-failist kopeeritud rida võib välja näha nagu proxy.example:8080, kuigi muutuja lõpeb tegelikult reavahetuse märgiga. Muutuja jutumärkidesse panemine säilitab selle märgi; see ei eemalda seda.

Bash-faili jaoks, mis sisaldab ühte täielikku proksi URL-i rea kohta:

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

Kasutage kirjeid nagu http://proxy.example:8080; HTTP proksi nimekiri pakub avalikke aadressikandidaate, mida nii vormindada. read eemaldab reavahetuse eraldaja; sufiksi laiendus eemaldab ühe lõpus oleva CR-i, kui see on olemas. Tingimus töötleb ka viimast mittetühja rida ilma reavahetuseta.

IFS= takistab väljade tükeldamist read-i ajal ja -r säilitab sõnasõnalised kurakaldkriipsud. Seejärel edastavad topeltjutumärgid saadud URL-i ühe curl-argumendina. Vältige käsustasenduse väljundi kordamist: kesta sõnatükeldus võib muuta faili kirjete piire enne, kui curl neid näeb.

See normaliseerib reavahetused. See ei paranda vale kuulamisprotokolli, puuduvat lõpp-punkti ega kättesaamatut teenust.

Seotud artiklid