Ich habe den folgenden Befehl ausprobiert:
$ wget -q --tries=10 --timeout=20 --spider http://google.com
(Ausdieser SO-Beitrag. Ich möchte meine Internetverbindung in Bash überprüfen.)
Ich bekomme folgende Ausgabe:
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.
Scheint in Ordnung zu sein. Wenn ich den Befehl jedoch mit ausführe sudo
, erhalte ich Folgendes:
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’
Ich brauche diese Zeile in einem Skript, welches ich aufrufe sudo
und daher schlägt es immer fehl.
Kann mir jemand den Grund dafür nennen? Wie kann ich das Problem umgehen?
Antwort1
In Ihrer Umgebung ist ein Proxy definiert. Ihr Proxy scheint zu sein 127.0.0.1:3128
.
Beim Ausführen sudo
wird die Proxy-Umgebungsvariable nicht übergeben, weshalb Sie nicht direkt auflösen können google.com
.
Mit diesem Befehl können Sie sehen, welchen Proxy/welche Proxys Sie in Ihren Umgebungsvariablen definiert haben:
env | grep proxy
Weitere Informationen zu Ask Ubuntu
Notiz:Wenn Sie sudo
die Umgebungsvariable des HTTP-Proxys übergeben möchten, versuchen Sie Folgendes:
sudo http_proxy="$http_proxy" wget -q --tries=10 --timeout=20 --spider http://google.com
Sie können alle Umgebungsvariablen auch wie folgt übergeben sudo -E
:
sudo -E wget -q --tries=10 --timeout=20 --spider http://google.com
Stack Overflow bietet andere Optionen zum Beibehalten der Umgebungsvariable beim sudo
ing.