Shell script с использованием curl для прокрутки URL-адресов

Я пытаюсь создать простой script, который возьмет список запросов из TXT файла, добавит главную переменную url, затем очистит содержимое и выведет его в текстовый файл.

Вот что я до сих пор:

#!/bin/bash

url="example.com/?q="
for i in $(cat query.txt); do
    content=$(curl -o $url $i)
    echo $url $i
    echo $content >> output.txt
done

список:

images
news
stuff
other

журнал ошибок:

curl: (6) Could not resolve host: other; nodename nor servname provided, or not known
example.com/?q= other

Если я использую эту команду прямо из командной строки, я получаю некоторый вывод в файл:

curl -L http://example.com/?q=other >> output.txt

В конечном итоге я хотел бы, чтобы результат был:

fetched:    http://example.com/?q=other
content:    the output of the page

followed by the next query in the list.

Ответы

Ответ 2

У вас есть вложенные кавычки, попробуйте что-то вроде этого:

#!/bin/bash

url=https://www.google.fr/?q=
while read query
do
    content=$(curl "{$url}${query}")
    echo $query
    echo $content >> output.txt
done < query.txt