2013-04-21 31 views
17

Tôi đã cố tạo một tập lệnh đơn giản sẽ lấy danh sách các truy vấn từ tệp .txt, nối biến url chính, sau đó loại bỏ nội dung và xuất nó thành văn bản tập tin.Kịch bản lệnh Shell sử dụng curl để lặp qua các url

Dưới đây là những gì tôi có cho đến nay:

#!/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 

danh sách:

images 
news 
stuff 
other 

log lỗi:

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

Nếu tôi sử dụng lệnh này trực tiếp từ dòng lệnh tôi nhận được một số xuất vào tệp:

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

Cuối cùng tôi muốn đầu ra là:

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

followed by the next query in the list. 

Trả lời

3

Bạn đã có dấu ngoặc kép lồng nhau, hãy thử một cái gì đó như thế này:

#!/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 
Các vấn đề liên quan