हमें विकास, परीक्षण, एकीकरण और मंचन के लिए अपने कार्यस्थल पर अलग वातावरण मिला है।
उन एनवीएस के भीतर, हमने DNS में होस्टनामों को अधिभारित किया है - उदाहरण के लिए देव वातावरण में, प्राथमिक वेब मशीन कहा जाता है web1.dev.example.com
, और परीक्षण वातावरण में, प्राथमिक वेब मशीन है web1.test.example.com
।
विभिन्न वातावरणों में मशीनों के बीच अंतर करने के लिए, मैं केवल होस्टनाम के बजाय FQDN को प्रदर्शित करने के लिए bash प्रॉम्प्ट को अनुकूलित करना चाहता हूं। सही और उचित; मैं बदलने के लिए सक्षम होना चाहिए \h
साथ \H
में $PS1
, है ना? हम्म। वे ठीक यही बात दिखाते हैं।
me@web1:~$ hostname
web1
me@web1:~$ hostname -f
web1.dev.example.com
me@web1:~$ export PS1="\[\u@\h: \w\]\$ "
me@web1: ~$ export PS1="\[\u@\H: \w\]\$ "
me@web1: ~$
में /etc/hostname
, मुझे सिर्फ hostname ( web1
) मिला है । hostname
और hostname -f
दोनों सही परिणाम ("web1" और "web1.test.example.com" क्रमशः) लौटाते हैं, और मुझे सही प्रविष्टियां मिली हैं /etc/hosts
।
क्या देता है?
ये Ubuntu 10.04 होस्ट हैं, अगर इससे कोई फर्क पड़ता है।