मैं एक शेल स्क्रिप्ट लिख रहा हूं जिसे किसी स्थान पर cd
की आवश्यकता है। क्या पिछले स्थान पर वापस जाने का कोई तरीका है, यानी cd
से पहले स्थान निष्पादित किया गया था?'cd' कमांड के बाद पिछले स्थान पर वापस आएं?
उत्तर
आप बस
cd -
कि तुम वापस अपने पिछले स्थान पर ले जाएगा कर सकते हैं।
कुछ गोले आपको pushdir/popdir कमांड, check out this site का उपयोग करने देते हैं। आपको यह SO question उपयोगी भी मिल सकता है।
आप पीडब्ल्यूडी को एक चर में और सीडी को उस चर में वापस प्रतिबिंबित कर सकते हैं। यह शांत हो सकता है।
हाँ, यह एक अच्छा विचार है! –
वह '$ OLDPWD' नहीं है? सिद्धांत में – IsaacS
यदि आप किसी स्क्रिप्ट के अंदर चल रहे हैं, तो आप उप-प्रक्रिया के अंदर स्क्रिप्ट का हिस्सा भी चला सकते हैं, जिसमें $ PWD का निजी मूल्य होगा।
# do some work in the base directory, eg. echoing $PWD
echo $PWD
# Run some other command inside subshell
(cd ./new_directory; echo $PWD)
# You are back in the original directory here:
echo $PWD
यह अपने फायदे और नुकसान हैं ... यह अच्छी तरह निर्देशिका को अलग करता है, लेकिन उत्पन्न करने वाला उप प्रक्रियाओं महंगा यदि आप इसे एक बहुत कुछ कर रहे हैं हो सकता है। (संपादित करें: @ नोर्मन ग्रे के नीचे बताए गए अनुसार, उप-प्रक्रिया को बढ़ाने का प्रदर्शन जुर्माना शायद बाकी की लिपि में जो भी हो रहा है उससे संबंधित बहुत महंगा नहीं है)
रखरखाव के लिए, मैं आम तौर पर इस दृष्टिकोण का उपयोग करें जब तक कि मैं साबित नहीं कर सकता कि स्क्रिप्ट धीरे-धीरे चल रही है।
+1, लेकिन क्या आपने _measured_ प्रदर्शन प्रदर्शन किया है? चूंकि प्रत्येक कमांड जो शेल अंतर्निहित नहीं है, वह एक कांटा करेगा, मुझे संदेह है कि एक सबहेल के लिए कांटा किसी भी महत्वपूर्ण प्रदर्शन जुर्माना होने की संभावना है। –
एक अन्य विकल्प कार्यों है कि आप अपने .bashrc कि आप नामित निर्देशिका के लिए जाने की अनुमति देने के लिए जोड़ सकते हैं का एक छोटा सा समूह है:
# cd /some/horribly/long/path
# save spud
# cd /some/other/horrible/path
# save green
...
# go spud
/some/horribly/long/path
यह A directory navigation productivity tool पर दर्ज है, लेकिन मूल रूप से "के उत्पादन में बचत शामिल है pwd "उपरोक्त मामले में नामित निमोनिक्स (" स्पड "और" हरा ") में, और फिर फ़ाइलों की सामग्री को cd'ing।
- 1. jQuery - तत्व ले जाएं और अपने सटीक पिछले स्थान पर वापस आएं?
- 2. विम - पिछले स्थान पर जाएं
- 3. पिछले पृष्ठ पर वापस जाएं
- 4. दृश्य को कैसे धक्का दें, वापस जाएं और दृश्य पर वापस आएं?
- 5. यूनिक्स वातावरण 'cd' कमांड के लिए स्रोत कोड
- 6. "grep" के बाद निर्देशिका में "cd" कैसे करें?
- 7. पिछले कमांड निकास कोड
- 8. बैश - पिछले विशिष्ट चरित्र के बाद अभिव्यक्ति
- 9. होवर पर टेक्स्ट बदलें, फिर पिछले टेक्स्ट पर वापस जाएं
- 10. पिछले नियंत्रक को वापस डेटा
- 11. "__rvm_do_with_env_before" और "__rvm_after_cd" "cd"
- 12. वसंत सुरक्षा: लॉगआउट के बाद पिछले यूआरएल पर रीडायरेक्ट
- 13. लॉगिन के बाद पिछले यूआरएल पर रीडायरेक्ट करना - रेल
- 14. लॉगिन (रेल) के बाद उपयोगकर्ता को पिछले पृष्ठ पर लौटें
- 15. Git पिछले Git के बाद rebase विलय
- 16. व्यक्तिगत खंड के मैन्युअल रूप से वापस बटन दबाकर पिछले खंड पर वापस कैसे जाना है?
- 17. CSS3: ओवरराइड के बाद: पिछले वाले बच्चे
- 18. इसके बाद के संशोधन को हटाने के बिना फ़ाइल के पिछले संस्करण पर वापस कैसे स्विच करें?
- 19. Django में रीडायरेक्ट/उसी (पिछले) पृष्ठ पर वापस लौटें?
- 20. विशिष्ट स्थान से क्लोजर में रन शेल कमांड
- 21. फ्लास्क/वेर्कजेग, लॉगिन के बाद पिछले पृष्ठ को वापस कैसे करें
- 22. Zsh टैब-पूरा होने के "cd .."
- 23. रेडिस पाइपलाइन एकाधिक कमांड जो पिछले पर निर्भर करता है?
- 24. विम: फोकस खो जाने पर कमांड मोड पर वापस जाएं
- 25. लॉगिन (कोडनिर्देशक) के बाद रीडायरेक्ट पेज पर वापस कैसे जाएं?
- 26. लॉगिन विफलता के बाद रेफरर पर वापस कैसे जाएं?
- 27. पिछले यूआरएल पर रीडायरेक्ट?
- 28. बड़े पैमाने पर पोस्टग्रेज़ के बाद खाली स्थान
- 29. लॉगआउट के बाद वापस बटन को रोकें
- 30. पिछले कमांड के आउटपुट के लिए Zshell विशेष चर
धन्यवाद। 'Pushd' और' popd' काम करेगा! :) लेकिन क्या गूंज को बंद करने का कोई तरीका है? (यानी, उन आदेशों को 'quiety' निष्पादित करने दें?) –
@OneTwoThree मुझे नहीं पता कि मैं आमतौर पर 'cd -' का उपयोग करता हूं। हालांकि, आप कुछ काम के रूप में 'pushd>/dev/null' जैसे कुछ भी कर सकते हैं। यदि आप इसे एक स्क्रिप्ट में डाल रहे हैं, तो आपके खोल को चुप करने का विकल्प हो सकता है। – Levon
मैं देखता हूं। धन्यवाद!!! –