#bash #wget
#bash #wget
Вопрос:
Я хотел запустить простой wget для отображения возврата вызова REST на терминале, избегая долгого утомительного вывода. Я использую:
$ wget -qO- localhost:8080/product/4
{"id":4,"name":"Spoon","price":2}
$
Хорошо. Однако, если есть ошибка (например, 404 — НЕ НАЙДЕНО), она ничего не показывает:
$ wget -qO- localhost:8080/badurl/4
$ <- nothing shown...
Можно ли указать wget показывать ошибку в случае, если это произойдет? Что-то вроде:
$ wget -qO- localhost:8080/badurl/4
404 - HTTP NOT FOUND
$
Может быть, я прошу слишком многого, но не помешает спросить.
Ответ №1:
man wget
:
-nv
--no-verbose
Отключите подробный, не будучи полностью тихим (используйте -q для этого), что означает, что сообщения об ошибках и основная информация все еще печатаются.
Например:
$ wget -nv -O- google.com/doesnotexist
http://google.com/doesnotexist:
2020-09-28 19:57:38 ERROR 404: Not Found.
Комментарии:
1. Принято. Один дополнительный запрос, имеющий второстепенное значение: знаете ли вы какой-либо способ принудительного ввода новой строки после содержимого? При успешном выполнении сам ответ (содержимое JSON) не содержит CR / LF, поэтому дополнительная строка отображается связанной с ним в той же строке.