Bash-curl-prokseaj listoj: forigi la finan CR el CRLF-linioj
Legu proksajn URL-ojn linie en Bash kaj forigu unu finan CR el CRLF-dosieroj antaŭ ol pasigi la valoron al curl.
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.