Làm thế nào để bạn chuyển hướng wget phản ứng với tiêu chuẩn ra?


148

Tôi có một crontabwgettrang sa PHP mỗi năm phút (chỉ để chạy một số mã PHP), và tôi muốn gửi đầu ra của các yêu cầu tiêu chuẩn ra, khi gửi bình thường wgetđầu ra /dev/null(hoặc giấu nó). Tôi không thể tìm thấy nó trong wgethướng dẫn.

Tôi đang tìm kiếm một cái gì đó như:

wget -o stdout http://whatever.com/page.php > /dev/null

Có ai biết không?


5
Có tiêu đề, nên là "Làm thế nào để bạn chuyển hướng wget thành null?".
Bob Stein

2
@ BobStein-VisiBone Tôi nghĩ rằng nó có tiêu đề chính xác. Tôi muốn thứ được wgetchuyển đến a stdoutvà bình thường stdoutđể đi null(tức là bỏ qua những gì nó thường in, và thay vào đó là in phần thân phản hồi).
Sean Adkinson

6
Oh! Tôi đứng sửa. Tôi đã bắt đầu sử dụng wget http://example.com/page.php -qO- (Đó là vốn Oh.) Đó là đầu ra tiêu chuẩn CHỈ cơ quan phản hồi. Là những gì bạn muốn?
Bob Stein

Câu trả lời:


157

wget -O - http://whatever.com/page.php > /dev/null

hoặc, nếu bạn muốn chuyển hướng đầu ra lỗi tiêu chuẩn:

wget -O - http://whatever.com/page.php > /dev/null 2>&1

hoặc, cho codegolf :-)

wget -O-


12
Bạn có thể muốn thêm -nvđể tránh chỉ báo tiến trình ghi đè đầu ra.
Tor Klingberg

1
Cách tiếp cận này có một vấn đề - nếu trạng thái phản hồi không phải là 200, thì nó không in được phần thân. Bất kỳ suy nghĩ để giải quyết nó?
Imaskar

71

Một phiên bản đơn giản hơn

wget -qO- http://example.com

tương đương với

wget -q -O - http://example.com

Ở đâu

  • -q tắt đầu ra của nhật ký, bao gồm thông tin lỗi
  • -O -, tương đương với -O /dev/stdout, có nghĩa là kết xuất trang web vào một tệp có tên /dev/stdout.

2
Cái đầu tiên hoạt động với wget của BusyBox, rất hữu ích. Tôi không nghĩ rằng nó thích có một không gian sauO
zymhan

18
wget -qO /dev/null http://whatever.com/page.php
  • -q để làm cho nó yên tĩnh
  • -O /dev/null bỏ qua nội dung trang

6

Bạn cũng có thể thử:

wget -q -O - http://whatever.com/page.php > /dev/null 

ý -qchí sẽ làm cho nó "yên lặng"

Hoặc có tệp đi đến một số trang html tạm thời mà bạn không có. sao cũng được


3
wget -O /dev/null http://example.com/

Nó hoạt động trên mac của tôi với wget 1.12.

Bạn có thể cung cấp một số giải thích về những gì mã của bạn làm?
Tamara Wijsman

-O có nghĩa là "ghi đầu ra vào tập tin này"
thomasrutter
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.