Liostaí seachfhreastalaí Bash curl: bain an CR deireanach de línte CRLF
Léigh URLanna seachfhreastalaí líne ar líne i Bash agus bain aon CR deireanach amháin de chomhaid CRLF sula dtugann tú an luach do curl.
D'fhéadfadh líne a cóipeáladh ó chomhad CRLF breathnú cosúil le proxy.example:8080 cé go gcríochnaíonn an athróg le haisfhilleadh carráin i ndáiríre. Coinníonn luaschomharthaí timpeall na hathróige an carachtar sin; ní bhaineann siad é.
Do chomhad Bash ina bhfuil URL iomlán seachfhreastalaí amháin in aghaidh na líne:
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
Úsáid iontrálacha ar nós http://proxy.example:8080; soláthraíonn an liosta seachfhreastalaí HTTP seoltaí poiblí iarrthacha le formáidiú mar sin. Baineann read an teorannóir líne nua; baineann an leathnú iarmhíre aon CR deireanach amháin má tá sé ann. Próiseálann an coinníoll freisin an líne dheireanach neamhfholamh gan líne nua.
Cuireann IFS= cosc ar scoilt réimsí le linn read, agus caomhnaíonn -r frithshlaiseanna liteartha. Ansin cuireann luaschomharthaí dúbailte an URL mar aon argóint curl amháin. Seachain atriall thar aschur ionadaíocht ordaithe: féadann scoilt focal an bhlaosc teorainneacha taifead an chomhaid a athrú sula bhfeiceann curl iad.
Normalálann sé seo foircinn líne. Ní cheartaíonn sé prótacal éisteachta mícheart, críochphointe atá ar iarraidh ná seirbhís nach féidir a shroicheadh.