Bash curl proxy zerrendak: kendu CRLF lerroen amaierako CR-a
Irakurri proxy URLak lerroka Bash-en eta kendu CRLF fitxategietako amaierako CR bat balioa curli pasatu aurretik.
CRLF fitxategi batetik kopiatutako lerroa proxy.example:8080 bezalakoa izan daiteke, baina aldagaia benetan carriage return batekin amaitzen da. Aldagaia komatxoen artean jartzeak karaktere hori gordetzen du; ez du kentzen.
Lerro bakoitzean proxy URL oso bat duen Bash fitxategi baterako:
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
Erabili http://proxy.example:8080 bezalako sarrerak; HTTP proxy zerrendak horrela formatu daitezkeen helbide publiko hautagaiak ematen ditu. read-ek lerro-jauziko bereizlea kentzen du; atzizkiaren hedapenak amaierako CR bat kentzen du, baldin badago. Baldintzak amaierako lerro ez-huts bat ere prozesatzen du, lerro-jauzirik gabe.
IFS= -k eremu-banaketa eragozten du read bitartean, eta -r -k alderantzizko barra literalak gordetzen ditu. Ondoren komatxo bikoitzek lortutako URLa curl argumentu bakar gisa pasatzen dute. Saihestu komando-ordezkapenaren irteeraren gainean iteratzea: shell-aren hitz-banaketak fitxategiaren erregistro-mugak alda ditzake curl-ek ikusi aurretik.
Honek lerro-amaierak normalizatzen ditu. Ez du entzute-protokolo okerrik, amaierako puntu falta denik edo irisgarritasunik gabeko zerbitzurik konpontzen.