ແຖວທີ່ຄັດລອກມາຈາກໄຟລ໌ CRLF ອາດເບິ່ງຄື proxy.example:8080 ໃນຂະນະທີ່ຕົວປ່ຽນຕົວຈິງແລ້ວສິ້ນສຸດດ້ວຍຕົວອັກສອນ carriage return. ການໃສ່ຄຳສັບໃນເຄື່ອງໝາຍອ້າງຮັກສາຕົວອັກສອນນັ້ນ; ມັນບໍ່ໄດ້ລຶບມັນ.

ສຳລັບໄຟລ໌ Bash ທີ່ມີ URL ພຣັອກຊີເຕັມໜຶ່ງຕໍ່ແຖວ:

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 ຈະເຫັນພວກມັນ.

ນີ້ເຮັດໃຫ້ປາຍແຖວເປັນປົກກະຕິ. ມັນບໍ່ໄດ້ແກ້ໂປຣໂຕຄອນການຟັງທີ່ຜິດ, ຈຸດສຸດທ້າຍທີ່ຂາດ ຫຼື ບໍລິການທີ່ເຂົ້າເຖິງບໍ່ໄດ້.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ