Realpath आउटपुट में इनपुट शामिल है


9

मैं realpathकमांड का उपयोग करता हूं , लेकिन यह हमेशा मूल इनपुट को पथ के अंत में जोड़ता है:

$ pwd
/homes/yosefkl
$ realpath yosefkl
/homes/yosefkl/yosefkl

आप अपनी वर्तमान कार्यशील निर्देशिका के अंदर एक निर्देशिका के लिए पूछ रहे हैं। इसके बजाय यह कोशिश करें:realpath .
पेंगुइन 28३५

जवाबों:


17

आपने 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

12

ऐसा इसलिए है क्योंकि आप इसे एक ऐसा रास्ता दे रहे हैं जो मौजूद नहीं है, इसलिए यह बस वर्तमान निर्देशिका को प्रिंट करता है और आपने जो भी दिया है, यह मानते हुए कि यह मार्ग होगा। ध्यान दें कि वह मैन पेज निर्दिष्ट करता है:

हल निरपेक्ष फ़ाइल नाम मुद्रित करें; सभी लेकिन अंतिम घटक मौजूद होना चाहिए

तो यह एक गैर-लक्षित लक्ष्य के साथ निष्पादन की अनुमति देता है। वर्णन करने के लिए, इन उदाहरणों पर विचार करें:

$ pwd
/home
$ ls
lost+found  terdon
$ realpath terdon
/home/terdon
$ realpath nonExistentDir
/home/nonExistentDir

या, आपने जो किया, उसकी नकल करने के लिए:

$ pwd
/home/terdon
$ realpath terdon
/home/terdon/terdon

5

नहीं, यह केवल आपको बताता है कि yosefklवर्तमान निर्देशिका ( /homes/yosefkl) में स्थित (शायद गैर-मौजूद) फ़ाइल का मार्ग है /homes/yosefkl/yosefkl। प्रयत्न

realpath "$PWD"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.