डिफ़ॉल्ट को ओवरराइड किए बिना MANPATH कैसे सेट करें?


14

मैंने $PATHनिर्यात करके अतिरिक्त निर्देशिकाएं जोड़ी हैं, PATH=/my/dirs:$PATH लेकिन मुझे यकीन नहीं है कि मुझे भी ऐसा करना चाहिए MANPATH। क्योंकि डिफ़ॉल्ट MANPATHखाली है फिर भी manकमांड काम करता है। मुझे एक कमांड मिला, जिसे manpathमैनुअल कहा गया है If $MANPATH is set, manpath will simply display its contents and issue a warning.। क्या इसका मतलब यह है कि manमैनुअल पेजों की खोज के लिए MANPATH निर्देशिकाओं को जोड़ने का सही तरीका नहीं है ?

जवाबों:


20

यदि आप बस MANPATH सेट करते हैं, तो यह डिफ़ॉल्ट को ओवरराइड करता है और आप मानक मैन पेजों तक पहुंच खो देते हैं। उदाहरण के लिए, man lsMANPATH को सेट करने से पहले काम करता है, लेकिन बाद में काम नहीं करता है।

डिफ़ॉल्ट को ओवरराइड किए बिना एक खोज निर्देशिका को जोड़ने के लिए, इस तरह MANPATH के लिए एक उपसर्ग उपसर्ग करें:

export MANPATH=":/path/to/custom/man"

कोलन को जोड़ने से आपको मानक सिस्टम मैन पेज और MANPATH चर में संदर्भित कस्टम पेज दोनों तक पहुंच मिलती है।

मैनपाट द्वारा आपके लिए लाया गया यह उत्तर (1) :

यदि $ MANPATH सेट किया जाता है, तो मैनपाट मक्खी पर इसे निर्धारित करने के बजाय इसके मूल्य को प्रदर्शित करता है। यदि $ MANPATH एक उपनिवेश द्वारा उपसर्ग किया जाता है, तो चर का मान कॉन्फ़िगरेशन फ़ाइलों की सामग्री से निर्धारित सूची में जोड़ा जाता है। यदि वैरिएबल चर में मान के अंत में आता है, तो निर्धारित सूची को चर की सामग्री से जोड़ दिया जाता है। यदि चर के मान में एक डबल कोलन होता है (: :), तो निर्धारित सूची को दो कॉलनों के बीच मूल्य के बीच में डाला जाता है।


1

IMO आपको अपने PATH के अंत में अपनी कस्टम निर्देशिकाओं को जोड़ना चाहिए

PATH=$PATH:/my/dirs

ऐसा इसलिए है कि आपकी कस्टम निर्देशिकाएँ राइड सिस्टम बायनेरिज़ / लिबास से अधिक नहीं हैं और एक मामूली सुरक्षा समस्या है।

आप MANPATH को उसी तरह सेट करते हैं (MANPATH डिफ़ॉल्ट रूप से खाली है)।

MANPATH=$MANTPATH:/my/dirs

आपको अच्छी तरह से व्यवहार किए गए पैकेजों के साथ एक MANPATH सेट करने की आवश्यकता नहीं है, इसलिए यदि यह टूटा हुआ नहीं है, तो इसे ठीक न करें और यदि यह टूट गया है, तो शायद आप बग रिपोर्ट दाखिल करना बेहतर कर रहे हैं;)

इसे ~ / .bashrc में जोड़ें

export PATH=$PATH:/my/dirs
export MANPATH=$MANPATH:/my/dirs

दूसरे बयान में टाइपो? MANPATH=$MANTPATH:/my/dirs शायद होना चाहिए:MANPATH=$MANPATH:/my/dirs
केविनरपे

"अच्छी तरह से व्यवहार किए गए पैकेज" से आपका क्या मतलब है? मेरे पास उपकरणों का एक पूरा सेट है जो सामान्य स्थानों पर स्थापित नहीं होते हैं (एचपीसी क्लस्टर अक्सर चीजों को / ऑप्ट में डालते हैं)। $ MANPATH का उपयोग किए बिना उन्हें अपने मैन पेज को कैसे पंजीकृत करना चाहिए?
i_grok

"अच्छी तरह से व्यवहार किए गए पैकेज" मानक पथ और पर्यावरण चर का उपयोग करने के लिए लिखे गए हैं। खराब व्यवहार वाले पैकेज गैर मानक का उपयोग करते हैं, कम से कम उबंटू, पथ जैसे / ऑप्ट या पर्यावरण चर का उपयोग नहीं करते हैं और इस प्रकार आपके अवलोकन के लिए नेतृत्व करते हैं "मेरे पास उपकरणों का एक पूरा सेट है जो सामान्य स्थानों में स्थापित नहीं होते हैं (एचपीसी क्लस्टर अक्सर डालते हैं चीजों में / विकल्प) "
पैंथर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.