मैं realpath
कमांड का उपयोग करता हूं , लेकिन यह हमेशा मूल इनपुट को पथ के अंत में जोड़ता है:
$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl
मैं realpath
कमांड का उपयोग करता हूं , लेकिन यह हमेशा मूल इनपुट को पथ के अंत में जोड़ता है:
$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl
जवाबों:
आपने realpath
वर्तमान निर्देशिका में एक फ़ाइल को एक सापेक्ष पथ दिया ।
फ़ाइल (जो एक निर्देशिका हो सकती है) मौजूद हो सकती है या नहीं। realpath
डिफ़ॉल्ट रूप से परवाह नहीं है। यह इस बात की परवाह किए बिना करता है कि इसका अंतिम तत्व मौजूद है या नहीं।
यदि आप चाहते हैं कि यह केवल मौजूद पथों को रिपोर्ट करे, तो -e
ध्वज का उपयोग करें :
zanna@toaster:~/playground$ realpath playground
/home/zanna/playground/playground
zanna@toaster:~/playground$ realpath ~/playground
/home/zanna/playground
zanna@toaster:~/playground$ realpath -e playground
realpath: playground: No such file or directory
ऐसा इसलिए है क्योंकि आप इसे एक ऐसा रास्ता दे रहे हैं जो मौजूद नहीं है, इसलिए यह बस वर्तमान निर्देशिका को प्रिंट करता है और आपने जो भी दिया है, यह मानते हुए कि यह मार्ग होगा। ध्यान दें कि वह मैन पेज निर्दिष्ट करता है:
हल निरपेक्ष फ़ाइल नाम मुद्रित करें; सभी लेकिन अंतिम घटक मौजूद होना चाहिए
तो यह एक गैर-लक्षित लक्ष्य के साथ निष्पादन की अनुमति देता है। वर्णन करने के लिए, इन उदाहरणों पर विचार करें:
$ pwd
/home
$ ls
lost+found terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir
या, आपने जो किया, उसकी नकल करने के लिए:
$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon
realpath .