मैं 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 .