Рейтинг:0

Как я могу сделать bash-скрипт, который читает строку после каждого http-запроса

флаг ng

У меня есть 700 строк (строка), и мне было интересно, как я могу сделать скрипт bash, который отправляет HTTP-запрос, используя завиток когда он запускается в первый раз, так что он отправит первый запрос с первой строкой, затем, когда он отправит второй запрос, он будет использовать вторую строку, 3-й запрос, он будет использовать 3-ю строку, ..., 700-й запрос будет используйте 700-ю строку, затем повторите.

А как вы думаете, что лучше? Используя .csv файл для чтения строк, например:

в то время как IFS=, прочитайте пример -r
делать
   ...
сделано <имя файла.csv

Или используя цикл for внутри скрипта, например:

arr=( "строка1" "строка2" "строка3" .."строка700" )
для i в "${arr[@]}"
делать
  эхо $i
сделано
Tilman avatar
флаг cn
Уточните, пожалуйста, как выглядит ваш файл. Это один URL-адрес в строке, как указано в вашем тексте, или он разделен запятыми, как подразумевает ваш фрагмент сценария.
waltinator avatar
флаг it
Ubuntu 14.04 прошла дату окончания срока службы и больше не поддерживается в AskUbuntu.
флаг in
Почему PHP помечен? Этот вопрос, похоже, требует сценария bash, а не сценария PHP.
Abdalaziz Alharthi avatar
флаг ng
@Tilman, это список пользовательских агентов: https://gist.github.com/pzb/b4b6f57144aea7827ae4, но я собираюсь сохранить файл с расширением csv, да, это один URL-адрес.
Abdalaziz Alharthi avatar
флаг ng
@bac0n, поэтому я должен сначала использовать : пока IFS=, прочитайте пример -r делать FileName="2021-03-13-data_export.csv" Строки=$(кот $FileName)
Tilman avatar
флаг cn
Таким образом, текстовый файл вообще не содержит URL-адресов, а содержит строки User-Agent. И он вообще не разделяется запятыми, даже если вы даете ему расширение `.csv`. `IFS=,` не имеет смысла, если файл не разделен запятыми. Но я вижу, что вы получили правильный ответ, поэтому я остановлюсь здесь.
Abdalaziz Alharthi avatar
флаг ng
Большое спасибо @Tilman
Рейтинг:2
флаг cn

Если вы хотите зациклить список предоставленный в комментарии, файл, разделенный новой строкой, будет работать нормально, поскольку пользовательские агенты не будет содержать никаких новых строк.

#!/бин/баш

mapfile -t < user-agents.txt
пока :; делать
    для агента в "${MAPFILE[@]}"; делать
        curl -A "$agent" http://localhost/
        спать 0,2
    сделано
сделано

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.