2015-03-16 5 views
5

Ich versuche ein .sh-Skript zu erstellen, das überprüft, ob eine IP/Domain wie "teamspeak.com" in/etc/hosts existiert und wenn nicht, dann möchte ich Fügen Sie etwas zur Hosts-Datei hinzu.checken IPs, wenn sie in/etc/hosts existieren

Im Moment versuche ich dies mit:

if ! grep -q "teamspeak.com == teamspeak.com" /etc/hosts; then 
    echo "Exists" 
else 
    echo "Add to etc host ting here" >> /etc/hosts; 

fi 
+1

Sie wissen .. Fragen sollten Fragen haben .. –

+0

Sorry, aber, was hier von IPS gemeint ist:

Um eine neue Host-Anwendung hinzufügen? Konnte nicht bekommen, was Sie wollen! –

+0

ich glaube, er bezieht ips auf unaufgelöste Domain-Namen .. –

Antwort

8
grep -q 

Ausgänge mit 0, wenn eine Übereinstimmung gefunden wird, sonst tritt es mit 1, so müssen Sie entfernen! und == Vergleich:

if grep -q "teamspeak.com" /etc/hosts; then 
    echo "Exists" 
else 
    echo "Add to etc host ting here" >> /etc/hosts; 
fi 

Hinweis, dass es nicht Wort basierte Suche, so dass es myteamspeak.com oder teamspeak.com.us auch findet. Um den vollständigen Hostnamen zu erhalten, müssen Sie den Befehl cut mit Trennzeichen verwenden.

echo "127.0.0.1 teamspeak.com" >> /etc/hosts 
+0

Great Job eine relevante scripting Antwort, wenn die Absicht der Frage war wahrscheinlich off-topic (ich denke, er fragt, was gehen soll im "Add to etc" -Platzhalter ... der nichts mit Programmierung zu tun hat) –

+0

nette Nähte, die bisher funktionieren, aber wie füge ich das hinzu, wenn Thay nicht beendet wird http://nopaste.linux-dev.org/?450741 ? allso mit Tabs? – JonathanNet

+0

Bekam es jetzt zu arbeiten, vielen Dank :) – JonathanNet

Verwandte Themen