CRLF கோப்பிலிருந்து நகலெடுக்கப்பட்ட வரி proxy.example:8080 போலத் தோன்றலாம், ஆனால் மாறி உண்மையில் ஒரு carriage return எழுத்துடன் முடிகிறது. மாறியை மேற்கோள் குறிகளுக்குள் வைப்பது அந்த எழுத்தைப் பாதுகாக்கிறது; அதை அகற்றாது.

ஒவ்வொரு வரியிலும் ஒரு முழு ப்ராக்ஸி URL உள்ள Bash கோப்பிற்கு:

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

http://proxy.example:8080 போன்ற உள்ளீடுகளைப் பயன்படுத்துங்கள்; HTTP ப்ராக்ஸி பட்டியல் அவ்வாறு வடிவமைக்கக்கூடிய பொது முகவரி வேட்பாளர்களை வழங்குகிறது. read புதிய வரி பிரிப்பானை அகற்றுகிறது; பின்னொட்டு விரிவாக்கம் இருந்தால் ஒரு இறுதி CR ஐ அகற்றுகிறது. புதிய வரி இல்லாத கடைசி காலியல்லாத வரியையும் இந்த நிபந்தனை செயலாக்குகிறது.

IFS= read இன் போது புலப் பிரிப்பைத் தடுக்கிறது, -r நேரடி பின்சாய்வுக்கோடுகளைப் பாதுகாக்கிறது. பின்னர் இரட்டை மேற்கோள் குறிகள் விளைந்த URL ஐ ஒரு curl வாதமாக அனுப்புகின்றன. கட்டளை மாற்றீட்டின் வெளியீட்டின் மீது மீள்செயலாக்கத்தைத் தவிர்க்கவும்: ஷெல்லின் சொல் பிரிப்பு curl அவற்றைப் பார்ப்பதற்கு முன் கோப்பின் பதிவு எல்லைகளை மாற்றக்கூடும்.

இது வரி முடிவுகளை இயல்பாக்குகிறது. தவறான கேட்பு நெறிமுறை, இல்லாத இறுதிப் புள்ளி அல்லது அணுக முடியாத சேவையை இது சரிசெய்யாது.

தொடர்புடைய கட்டுரைகள்