CRLF ফাইল থেকে কপি করা একটি লাইন proxy.example:8080-এর মতো দেখাতে পারে, অথচ ভেরিয়েবলটি আসলে একটি ক্যারেজ রিটার্ন দিয়ে শেষ হয়। ভেরিয়েবলটি কোটে রাখলে সেই অক্ষরটি সংরক্ষিত থাকে; তা সরিয়ে দেয় না।

প্রতি লাইনে একটি সম্পূর্ণ প্রক্সি 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 দেখার আগেই ফাইলের রেকর্ডের সীমা বদলে দিতে পারে।

এটি লাইনের শেষগুলো স্বাভাবিক করে। এটি ভুল লিসেনিং প্রোটোকল, অনুপস্থিত এন্ডপয়েন্ট বা অগম্য সেবা ঠিক করে না।

সম্পর্কিত নিবন্ধ