मैं जिस मशीन पर काम करता हूं उसका होस्टनाम कैसे प्राप्त कर सकता हूं?


7

मैं सोच रहा हूं कि मैं जिस मशीन पर काम कर रहा हूं, उसका होस्टनाम (पूरी तरह से योग्य डोमेन नाम) कैसे प्राप्त कर सकता हूं?

यहाँ मेरी स्क्रिप्ट है:

 #! /bin/sh    
 hostname=$(host $ipaddr | awk '{print substr($NF,1,length($NF)-1)}')
 echo $hostname
 $h= get the current hostname
 if [ $hostname -ne $h ]
 then
//instructions
 fi

hostname -sछोटी (FQDN के माइनस बाकी) होस्टनाम मिलना चाहिए ... hostname=$(hostname -s)...?
किंक्टस

$HOSTपर्यावरण चर में मशीन का होस्टनाम होता है।
थियोडेन

1
क्या ओपी इस सवाल को अपडेट कर सकता है कि क्या वे FQDN चाहते हैं या केवल "शॉर्ट" होस्टनाम?
किंक्टस

हाँ, मुझे पूरी तरह से योग्य डोमेन नाम की आवश्यकता है।
शोधकर्ता

गूंज $ HOST कुछ भी नहीं
शोधकर्ता

जवाबों:


14

कर्नेल होस्टनाम (नोडनाम) का उपयोग hostnameया uname -nप्राप्त करने के लिए ।

hostname -s उसी का पहला घटक देगा।

hostname -fFQDN प्राप्त करने के लिए उपयोग करें - यह अतिरिक्त रूप से होस्टनाम को IP पते पर अनुवाद करने की कोशिश करता है, फिर एक डोमेन नाम पर वापस।


hostname -f के साथ हल किया गया, कृपया इस शर्त को कैसे संशोधित कर सकते हैं: $ h = वर्तमान होस्टनाम प्राप्त करें यदि [$ hostname -n $ h] बहुत बहुत धन्यवाद।
शोधकर्ता


var = $ (hostname -f) गूंज $ var if [$ hostname -n $ var] [: अवैध संख्या:
शोधकर्ता

अगर ["$ hostname"! = "$ var"] ठीक काम करता है :) बहुत बहुत धन्यवाद। Bests।
शोधकर्ता

0

एक पर्यावरण चर का उपयोग करना मुश्किल हो सकता है। यह आपके द्वारा उपयोग किए जा रहे शेल की बात हो सकती है: कुछ गोले $ HOST का उपयोग करते हैं, अन्य $ HOSTNAME का उपयोग करते हैं। मैं uname -n विकल्प के साथ जाऊंगा जिसका @grawity ने उल्लेख किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.