Linio kopiita el CRLF-dosiero povas aspekti kiel proxy.example:8080, dum la variablo fakte finiĝas per karoserireveno. Meti la variablon en citiloj konservas tiun signon; ĝi ne forigas ĝin.

Por Bash-dosiero enhavanta unu kompletan proksan URL-on po linio:

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

Uzu erojn kiel http://proxy.example:8080; la listo de HTTP-proksoj provizas publikajn adresajn kandidatojn por tiel formati. read forigas la novlinian disigilon; la sufiksa ekspansio forigas unu finan CR se ĝi ĉeestas. La kondiĉo ankaŭ prilaboras lastan ne-malplenan linion sen novlinio.

IFS= malhelpas kampan disigon dum read, kaj -r konservas laŭliterajn retroklinojn. Poste duoblaj citiloj pasigas la rezultan URL-on kiel unu curl-argumenton. Evitu ripeti super la eligon de komanda anstataŭigo: la vorta disigo de la ŝelo povas ŝanĝi la registrajn limojn de la dosiero antaŭ ol curl vidas ilin.

Ĉi tio normaligas linifinojn. Ĝi ne riparas malĝustan aŭskultan protokolon, mankan finpunkton aŭ neatingeblan servon.

Rilataj artikoloj