लिनक्स पर (CentOS 5), याद है कि जब हमने एक सिम्कलिन का अनुसरण किया है और फिर से 'cd ..' के बारे में किया जा रहा है


2

मैं यह पता लगाने की कोशिश कर रहा हूं कि शेल (टीसीएस) को कैसे बताया जाए कि याद करने के लिए जब मैं एक सिम्लिंक किए गए फ़ोल्डर में गया हूं, और 'सीडी ..' को सिम्लिंक से वापस नेविगेट करने के बजाय केवल मूल निर्देशिका में नेविगेट करने की अनुमति देता हूं लिंक्ड-इन फ़ोल्डर ...

उदाहरण के लिए:

$ ls -al /jobs
tech -> /mnt/projects1/tech
temp -> /mnt/projects2/temp

$ cd /jobs/tech
$ cd ../temp
../temp: No such file or directory.

$ pwd
/mnt/projects1/tech

कोई आईडिया कि इसे कैसे किया जाए? मुझे लग रहा है कि यह एक शेल सेटिंग है जिसे आप कहीं सेट कर सकते हैं ...।

चियर्स


मेरे उत्तर को शायद और अपडेट किया जाए जो आप खोज रहे हैं ... अभी तक इसका परीक्षण नहीं किया है
RobotHumans

जवाबों:


2

यदि आपको इसे एक से अधिक "चरण" के लिए नहीं करना है तो आप उपयोग कर सकते हैं cd - बजाय

इसलिए ऐसा लगता है कि अनदेखा करने के लिए सिमलिंक एनवी चर सेट करना आपकी वांछित प्रतिक्रिया प्राप्त कर सकता है
मैन पेज से:

सहानुभूति (+)   प्रतीकात्मक लिंक को नियंत्रित करने के लिए कई अलग-अलग मूल्यों पर सेट किया जा सकता है   ('सिमलिंक') संकल्प:

यदि 'पीछा' के लिए सेट किया जाता है, तो जब भी वर्तमान निर्देशिका ए में बदलती है   एक प्रतीकात्मक लिंक वाली निर्देशिका, इसका विस्तार किया जाता है   निर्देशिका का वास्तविक नाम जिससे लिंक इंगित करता है। यह करता है   उपयोगकर्ता के होम डायरेक्टरी के लिए काम नहीं करना; यह एक बग है।

यदि 'अनदेखा' करने के लिए सेट किया गया है, तो शेल एक करंट बनाने की कोशिश करता है   लिंक से पहले वर्तमान निर्देशिका के सापेक्ष निर्देशिका थी   पार कर गया। इसका मतलब है कि एक प्रतीकात्मक लिंक के माध्यम से और   फिर 'cd ..' मूल निर्देशिका में एक रिटर्न देता है। इस   केवल बिलिन कमांड और फ़ाइलनाम पूरा होने को प्रभावित करता है।

यदि 'विस्तार' के लिए सेट किया गया है, तो शेल प्रतीकात्मक लिंक को ठीक करने की कोशिश करता है   वास्तव में विस्तार तर्क जो पथ नाम की तरह दिखते हैं। इस   किसी भी कमांड को प्रभावित करता है, न कि सिर्फ बिल्डिंस को। दुर्भाग्य से, यह   हार्ड-टू-पहचान फ़ाइलनाम के लिए काम नहीं करता है, जैसे कि उन   आदेश विकल्पों में एम्बेडेड। द्वारा विस्तार को रोका जा सकता है   के हवाले से। जबकि यह सेटिंग आमतौर पर सबसे सुविधाजनक है, यह   कभी-कभी भ्रामक होता है और कभी-कभी भ्रमित होने पर असफल हो जाता है   उस तर्क को पहचानना, जिसका विस्तार किया जाना चाहिए। एक खाद-   mise को 'अनदेखा' करना है और एडिटर कमांड को सामान्य करना है-   जब आवश्यक हो तो पथ (डिफ़ॉल्ट रूप से ^ X-n से बंधे)।


यह मेरी अब तक की विधि है, लेकिन यह एक आदर्श वर्कफ़्लो नहीं है ...
Hugh

मुझे लगता है कि हम दोनों को एक ही समय में एक ही उत्तर मिला! : डी
Hugh

जैसा दिखता है, अपने आप को जांच दें
RobotHumans

नहीं, यह तुम्हारा है ... मुझे पहली बार यहाँ पोस्ट करने से पहले मैनपेज के माध्यम से एक खोज करनी चाहिए थी ... चीयर्स!
Hugh

1

मुझे लगता है कि मैं यहाँ अपने सवाल का जवाब देने में कामयाब रहा हूँ, कम से कम tcsh के लिए, वैसे भी ...

Tcsh manpage पर, यह 'सिमिलिंक' वेरिएबल के बारे में बात करता है ...

तो, अब मैं कर सकता हूँ:

$ set symlinks=expand

$ cd /jobs/tech
$ pwd
/mnt/projects1/tech
$ echo $cwd
/jobs/tech

$ cd ..
$ echo $cwd
/jobs

इस सब के कारण, मैं 'alcho pwd' के लिए सिर्फ उर्फ ​​pwd को काफी लुभा रहा हूं, क्योंकि यह उपयोगकर्ता को एक अधिक सटीक दृश्य देगा जहां वे खुद को फाइलसिस्टम में होने का विचार कर सकते हैं ...

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