2010-03-09 4 views
7

मैं स्क्रिप्टिंग को बैश करने के लिए एक पूर्ण नौसिखिया हूं। मुझे याद है कि cd कमांड निष्पादित करने का एक तरीका था, स्वचालित रूप से पिछली निर्देशिका पर लौट रहा था (स्पष्ट cd ... के बिना)। कोई विचार?सीडी विकल्प पिछली निर्देशिका में बदलने के लिए

+0

बस उत्सुक होने के लिए, क्यों "असली सवाल नहीं" के रूप में वोट? : एस कृपया एक टिप्पणी छोड़ दो और मैं स्पष्टीकरण देने की कोशिश करूंगा ... –

उत्तर

13

तुम सिर्फ पिछली निर्देशिका के लिए जाना चाहते हैं, तो आप cd - उपयोग कर सकते हैं।

तुम वापस लिए जाने के लिए और अधिक स्थानों की जरूरत है, pushd <dir> (cd <dir> के बजाय) कोशिश करते हैं और उसके बाद आप popd के साथ वापस जा सकते हैं।

+0

जानना अच्छा है। धन्यवाद :) –

+0

स्वीकार करना। यहां तक ​​कि अगर मैं अपनी खुद की लिपि में कुछ उप-शैल शुरू कर रहा हूं, तो यह सबसे अच्छा विकल्प के रूप में लगता है। –

4

मिला! मैं इसे उप-खोल के रूप में निष्पादित कर सकता हूं।

कोष्ठक के बीच एम्बेडेड एक कमांड सूची एक सबहेल के रूप में चलती है।

स्रोत: http://tldp.org/LDP/abs/html/subshells.html

+1

ध्यान दें कि इसे सबहेल में चलाना मतलब है कि पर्यावरण चर को सेट करने जैसी चीजें बाहर उपयोग करने के लिए काम नहीं करतीं। –

+2

कड़ाई से बोलते हुए आप वर्तमान निर्देशिका में "वापसी" नहीं करते हैं क्योंकि आपने कभी इसे मूल खोल के दायरे में नहीं छोड़ा है। – Sorpigal

+0

@Ignacio: हाँ, लेकिन मुझे जो चाहिए वह ठीक है। @ वृश्चिक: अच्छा बिंदु। मुझे इसके बारे में पता है :) –

1

इसके अलावा, pushd और popd बहुत उपयोगी हो सकते हैं - वे निर्देशिका स्थानों के ढेर पर कार्रवाई का प्रतिनिधित्व करते हैं - आप "समय में वापस यात्रा" की अनुमति।

1

तुम भी cdargs पैकेज की कोशिश कर सकते हैं। आप एक ट्यूटोरियल यहाँ पा सकते हैं: http://www.csrdu.org/nauman/2011/01/16/helpful-tips-for-newbie-system-admins/

सारांश:

yum -y install compat-libstdc++-296 
wget http://www.skamphausen.de/downloads/cdargs/cdargs-1.31-1.i386.rpm 
rpm -ivh cdargs-1.31-1.i386.rpm 
updatedb 
source `locate cdargs-bash.sh` 
# you can use any method you like for locating this file and running it 
# also, you need to put it in the ~/.bash_profile to run it every time you login 
echo source `locate cdargs-bash.sh` >> ~/.bash_profile 
cdb 

मार्क एक निर्देशिका और चारों ओर ले जाने:

cd /etc/conf/httpd/ext/ 
mark apaconf 
cd /usr/local/src/ 
cdb apaconf 

अन्य आदेश के लिए लिंक देखें या नेट खोज करते हैं।