कहो मेरे पास दो रास्ते हैं: <source_path>
और <target_path>
। मैं अपने खोल (zsh) की तरह स्वचालित रूप से पता लगाने के लिए अगर वहाँ का प्रतिनिधित्व करने के लिए एक रास्ता है होगा <target_path>
से <source_path>
एक रिश्तेदार पथ के रूप में।
जैसे मान लेते हैं
<source_path>
है/foo/bar/something
<target_path>
है/foo/hello/world
परिणाम होगा ../../hello/world
मुझे इसकी आवश्यकता क्यों है:
मुझे जब भी संभव हो, किसी रिश्तेदार प्रतीकात्मक लिंक का उपयोग <source_path>
करने से एक प्रतीकात्मक लिंक बनाने की आवश्यकता है, अन्यथा जब तक हम विंडोज़ से नेटवर्क पर इन फ़ाइलों तक नहीं पहुंचते हैं, तब तक मैं हमारे सांबा सर्वर को फ़ाइल को ठीक से नहीं दिखाता हूं (मैं एसवाईएस व्यवस्थापक नहीं हूं, और डॉन ' टी इस सेटिंग पर नियंत्रण है)<target_path>
यह मानते हुए कि <target_path>
और <source_path>
पूर्ण पथ हैं, निम्नलिखित एक निरपेक्ष पथ की ओर इशारा करते हुए एक प्रतीकात्मक लिंक बनाता है ।
ln -s <target_path> <source_path>
इसलिए यह मेरी जरूरतों के लिए काम नहीं करता है। मुझे सैकड़ों फ़ाइलों के लिए ऐसा करने की आवश्यकता है, इसलिए मैं इसे मैन्युअल रूप से ठीक नहीं कर सकता।
किसी भी शेल बिल्ट-इन का ख्याल रखें?
symlinks
सापेक्ष के लिए पूर्ण लिंक परिवर्तित करने के लिए उपयोग कर सकते हैं ।