Я спробував таку команду:
$ wget -q --tries=10 --timeout=20 --spider http://google.com
(З цієї публікації SO . Я хочу перевірити підключення до Інтернету в bash.)
Я отримую наступний вихід:
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50-- http://google.com/
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 302 Found
Location: http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA [following]
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50-- http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
Здається, нормально, однак, запускаючи cmd sudo
, я отримую це:
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:27-- http://google.com/
Resolving google.com (google.com)... failed: Name or service not known.
wget: unable to resolve host address ‘google.com’
Мені потрібен цей рядок у сценарії, до якого я дзвоню, sudo
і тому він завжди виходить з ладу.
Може хтось скаже мені причину цього? Як я можу обійти це?
wget
випадків проти google.com, здається, не є гарним способом перевірити, чи працює інтернет-з'єднання: наприклад, ви можете знаходитись у з'єднанні, яке дозволяє HTTP-з'єднання з Google, але забороняє те, що ваш сценарій дійсно хоче робити ; або Google може заборонити доступ wget до їх сайту. Яка проблема є у вас, для якої ви вважаєте, що sudo wget blah
це потенційне рішення?