CRLF ფაილიდან კოპირებული სტრიქონი შეიძლება გამოიყურებოდეს როგორც proxy.example:8080, თუმცა ცვლადი რეალურად მთავრდება ქარაგმის დაბრუნების სიმბოლოთი. ცვლადის ბრჭყალებში ჩასმა ინახავს ამ სიმბოლოს; ის არ აშორებს მას.

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 დაინახავს მათ.

ეს ახდენს სტრიქონების დაბოლოებების ნორმალიზებას. ის არ ასწორებს არასწორ მოსმენის პროტოკოლს, დაკარგულ საბოლოო წერტილს ან მიუწვდომელ სერვისს.

დაკავშირებული სტატიები