2015-03-16 9 views
5

में मौजूद हैं तो आईपी जांचें। मैं एक .sh स्क्रिप्ट बनाने की कोशिश कर रहा हूं जो जांचता है कि "etcpeak.com" जैसे कुछ आईपी/डोमेन/etc/hosts में मौजूद हैं और यदि ऐसा नहीं है तो मैं नहीं चाहता मेजबान फ़ाइल में कुछ जोड़ें।यदि वे/etc/hosts

अभी मैं के साथ इस कोशिश कर रहा हूँ: 0 के साथ

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

fi 
+1

क्या आप जानते हैं .. सवाल प्रश्न हैं .. –

+0

क्षमा करें, लेकिन, क्या यहां आईपीएस का क्या मतलब है:

एक नया मेजबान उपयोग को जोड़ने के लिए? आप जो चाहते हैं उसे प्राप्त नहीं कर सका! –

+0

मुझे लगता है कि वह अनसुलझे डोमेन नामों के लिए ips का जिक्र कर रहा है .. –

उत्तर

8
grep -q 

बाहर निकलता है यदि कोई मिलान हो जाता है, अन्यथा यह साथ 1 ताकि आप को दूर करने की जरूरत है बाहर निकल जाता है! और == तुलना:

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

ध्यान दें कि यह शब्द के आधार पर खोज तो यह myteamspeak.com या teamspeak.com.us पाता है भी नहीं है। पूरे होस्ट नाम को पाने के लिए आपको कटिम कमांड का उपयोग डिलीमीटर के साथ करना होगा।

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

की तलाश करनी चाहिए, जब कोई सवाल संभवतः ऑफ-विषय था (मुझे लगता है कि वह पूछ रहा है कि क्या जाना चाहिए "आदि में जोड़ें" प्लेसहोल्डर ... जिसमें प्रोग्रामिंग के साथ कुछ लेना देना नहीं है) –

+0

अब तक काम करने के लिए अच्छे सीम हैं, लेकिन अगर मैं बाहर नहीं निकलता हूं तो मैं इसे कैसे जोड़ूं http://nopaste.linux-dev.org/?450741 ? टैब के साथ भी? – JonathanNet

+0

अब इसे काम करने के लिए मिला, सभी को धन्यवाद :) – JonathanNet