HeadlinesBriefing HeadlinesBriefing.com

PATH में टिल्डे (~) HOME डायरेक्टरी में विस्तारित नहीं होता

Hacker News •
×

एक आम समस्या जो शेल कॉन्फ़िगरेशन में होती है, वह यह है कि टिल्डे (~) को उद्धरण वाले स्ट्रिंग में PATH चर सेट करते समय उपयोग किया जाता है। जब उपयोगकर्ता अपने `.bashrc` या `.zshrc` में `export PATH="$PATH:~/.local/bin/"` जैसी पंक्तियाँ जोड़ते हैं, तो टिल्डे वास्तव में HOME डायरेक्टरी में विस्तारित नहीं होता है, बल्कि एक लिटरल चरित्र के रूप में व्यवहार किया जाता है, जिससे `./~/.local/bin/` जैसी रिलेटिव पाथ को एनवायरनमेंट वरिएबल में जोड़ दिया जाता है। यह इसलिए होता है क्योंकि टिल्डे का विस्तार केवल उन शब्दों पर होता है जो अनक्वोटेड हैं और `~` से शुरू होते हैं।

इस समस्या का समाधान करने के लिए, उपयोगकर्ता को स्पष्ट रूप से `$HOME` वेरिएबल का उपयोग करना चाहिए, जैसे `export PATH="$PATH:$HOME/.local/bin/"`। जबकि अनक्वोटेड संस्करण `export PATH=$PATH:~/.local/bin` बश और ज़fsh में काम करता है, यह नाजुक है और यदि स्पेस पेश हो तो काम करना बंद कर सकता है। समस्या को जल्दी से निदान करने के लिए `echo "$PATH" | grep '~'` चलाएँ। यदि कोई आउटपुट मिलता है, तो कॉन्फ़िगरेशन फ़ाइलों को अपडेट करके `~` को `$HOME` से बदलना चाहिए।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित