Jak przekierowujecie odpowiedź wget na standardowe wyjście?


148

Mam crontabże wgetstrony sa PHP co pięć minut (tylko do uruchomienia niektórych kodu PHP) i chcę, aby wysłać wyjście żądanie standardowe wyjście, podczas wysyłania normalne wgetwyjście /dev/null(lub w inny sposób ukryć). Nie mogłem tego znaleźć w wgetinstrukcji.

Szukam czegoś takiego:

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

Ktoś wie?


5
Błędnie powinien brzmieć „Jak przekierowujesz wget do zera?”.
Bob Stein

2
@ BobStein-VisiBone Myślę, że jest poprawnie zatytułowany. Chciałem, aby rzecz, która jest wget-ed, poszła do stdout, a normalna stdoutdo null( do zignorowania tego, co zwykle drukuje, i zamiast tego wydrukowała treść odpowiedzi).
Sean Adkinson

6
O! Poprawiono mnie. Zacząłem używać wget http://example.com/page.php -qO- (To wielka Oh.) To standardowe wyjście WYŁĄCZNIE z ciałem odpowiedzi. Czy tego chciałeś?
Bob Stein

Odpowiedzi:


156

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

lub, jeśli chcesz przekierować również standardowe wyjście błędów:

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

lub, dla codegolf :-)

wget -O-


12
Możesz dodać, -nvaby wskaźnik postępu nie nadpisał wyniku.
Tor Klingberg,

1
Takie podejście ma problem - jeśli status odpowiedzi nie jest równy 200, nie drukuje treści. Wszelkie myśli, aby to rozwiązać?
Imaskar,

70

Prostsza wersja

wget -qO- http://example.com

równoważny

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

gdzie

  • -q wyłącza dane wyjściowe dziennika, w tym informacje o błędach
  • -O -, równoważne z -O /dev/stdout, oznacza zrzucenie strony internetowej do pliku o nazwie /dev/stdout.

2
Pierwszy działa z wgetem BusyBox, co jest bardzo pomocne. Nie sądzę, że lubi mieć miejsce poO
zymhan

18
wget -qO /dev/null http://whatever.com/page.php
  • -q uciszyć
  • -O /dev/null zignorować zawartość strony

6

Możesz także spróbować:

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

-quczyni to „cicho”

Lub poproś plik o przejście na stronę tymczasową HTML, o której nie masz nic przeciwko. okolwiek.com/tempFile.html


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

Działa na moim Macu z wget 1.12.

Czy mógłbyś podać wyjaśnienie tego, co robi Twój kod?
Tamara Wijsman,

-O oznacza „zapisz dane wyjściowe do tego pliku”
thomasrutter,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.