मारपीट के साथ $ PATH में फांसी की सजा कब देनी है?


9

बैश शैल में अंतर्निहित कैश को निष्पादन योग्य के लिए hash -rरीसेट करने के लिए एक अंतर्निहित कमांड है $PATH

इस आदेश का उपयोग करना कब आवश्यक है?

संबंधित: कैसे मारपीट के साथ $ PATH में निष्पादन योग्य रिहर्सल करें


1
... उदाहरण के लिए जब आपके पास एक प्रोग्राम है जिसे आपने सिर्फ recompiled ... एक ही नाम के साथ ... शायद एक अलग रास्ते में ...
Hastur

@ हस्तूर: यदि आप टिप्पणी करते हैं तो मैं अनिश्चित हूँ यदि आप एक प्रश्न या एक बयान है। यदि कथन, pls उत्तर के रूप में पोस्ट करें।
केविनर्पपे

जवाबों:


7

hashएक बैश बिल्ट-इन कमांड है। हैश टेबल बैश की एक विशेषता है जो हर बार जब आप मेमोरी में परिणाम कैशिंग करके एक कमांड टाइप करते हैं तो $ PATH को खोजने से रोकता है।

इसलिए जब कैश्ड / संग्रहित जानकारी अब अपडेट या मान्य नहीं है, तो आपको इसे रीसेट करने की आवश्यकता हो सकती है।

यूनिक्स स्टेक्सचेंज पर इस अच्छे जवाब पर और पढ़ें ।


4

यदि आपने पहले उस शेल इनवोकेशन में एक प्रोग्राम चलाया है, और फिर अपनी $PATHखोज सूची में एक और निर्देशिका में इसका दूसरा संस्करण स्थापित किया है , तो आपको हैश को रीसेट करने की आवश्यकता है ताकि यह नए स्थान पर मिल जाए। अन्यथा, यह पुराने स्थान पर प्रोग्राम को खोजने के लिए कैश का उपयोग करेगा।

यदि किसी प्रोग्राम को आपकी निर्देशिका में 2 निर्देशिकाओं में स्थापित किया गया है, तो आपको हैश को रीसेट करने की भी आवश्यकता है $PATH, और आप इसे चलाने के बाद पहले वाले स्थान से प्रतिलिपि हटा दें। अन्यथा, यह उस स्थान पर खोजने की कोशिश करेगा, और "ऐसी कोई फ़ाइल या निर्देशिका नहीं" की रिपोर्ट करेगा (व्यक्तिगत रूप से, मुझे लगता है कि यह स्वचालित रूप से हैश को साफ़ करना चाहिए और ऐसा होने पर पूरी खोज करना चाहिए, लेकिन ऐसा तब नहीं हुआ जब मैंने कोशिश की थी। )।

ध्यान दें कि आपको वास्तव में पूरे हैश को रीसेट नहीं करना है, आप इसका उपयोग कर सकते हैं:

hash name

इसे केवल नाम के लिए कैश प्रविष्टि को अद्यतन करने के लिए बाध्य करने के लिए, या:

hash -d name

बस उस कैश प्रविष्टि को हटाने के लिए। ये अन्य सभी कैश प्रविष्टियों को अकेले छोड़ देते हैं।

इसे hash -rसंशोधित करने के बाद आपको उपयोग करने की आवश्यकता नहीं है $PATH, ऐसा होने पर यह स्वचालित रूप से रीसेट हो जाता है।


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