Nhận đầu ra wget cho một biến


14

Tôi làm nó như thế nào? Tôi đang thử nó như thế này KẾT QUẢ = `wget $ URL`

PS - Ngoài ra bất kỳ nguồn khuyến nghị cho việc học tập lệnh shell?

Câu trả lời:


22

Làm thế nào về:

RESULT="`wget -qO- http://example.com`"
echo $RESULT

Chỉnh sửa: Vâng, hoạt động.


2
Tại sao lại lao vào sau -qO?
Ashfame

2
Obảo nó xuất ra ở đâu đó, -bảo Onó xuất ra luồng hiện tại. Và qnói với wget không bao gồm bất kỳ thông tin "Kết nối với xxx ..." nào.
Oli

Điều tôi muốn nói là khi nào -qthì công tắc im lặng & -Ođược sử dụng để đặt tên cho tệp mà chúng tôi muốn đầu ra được lưu. Từ những gì tôi đã đọc, chúng ta có thể viết nhiều công tắc cùng nhau nếu tất cả chúng không yêu cầu đối số. Vì vậy, -qOcó ý nghĩa nhưng sau đó dấu gạch ngang cuối cùng làm gì?
Ashfame

1
Đó -Olà lý lẽ. Nó cho nó biết nơi để viết đầu ra của tải xuống (trong trường hợp này: quay lại luồng hiện tại).
Oli

24

Cách ưa thích sẽ là

result=$(wget -qO- http://example.com)
echo "$result"

(tên biến thường, $()thay vì ``và trích dẫn mở rộng biến kết quả).

Đối với kịch bản shell với bash và / hoặc POSIX sh, http://mywiki.wooledge.org/BashGuide là hướng dẫn để đọc. Và có nhiều tài nguyên hữu ích hơn trên wiki đó và trên http://wiki.bash-hackers.org/ . Tôi sợ hầu hết các tài nguyên khác về kịch bản shell là rác, vì vậy tốt nhất là nên gắn bó với hai tài nguyên đó.


Cảm ơn vì đầu vào của bạn! Bạn có thể giải thích một chút những gì sai với trích dẫn ở đây?
Ashfame

@Ashfame Điều này giải thích lý do chính tại sao bạn nên luôn luôn trích dẫn mở rộng: mywiki.wooledge.org/Arguments
geirha

Cảm ơn! Tôi đã đánh dấu các tài nguyên. Tôi sẽ học hỏi từ đó. :)
Ashfame

Tại sao hầu hết các tài nguyên khác trên shell scripting rác?
David Kennedy

@Koveras làm sao tôi biết? Mọi người có thể đọc hướng dẫn về ABS và sau đó quyết định họ sẽ chia sẻ kiến ​​thức mới phát hiện của họ với thế giới với một hướng dẫn nhảm nhí khác.
geirha

0

trong WGET (đối với WINDOWS BATCH), có dạng như sau:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.