2012-11-07 15 views
68

जो मैं करने की कोशिश कर रहा हूं वह वर्तमान कार्य निर्देशिका ढूंढ रहा है और इसे एक चर में सहेज रहा है, ताकि मैं export PATH=$PATH:currentdir+somethingelse चला सकूं। : पूरी तरह से सुनिश्चित नहीं है कि उनके पास एक चर है जिसमें डिफ़ॉल्ट रूप से cwd शामिल है।बैश: वर्तमान निर्देशिका चर

+0

'.' डॉट कार्य करना चाहिए। – mcalex

+0

ताकि इसे एक चर में सहेजने के लिए मैं mydir = करूं। ? –

+0

yup बस mydir = के साथ परीक्षण किया गया। फिर ls $ mydir- लेकिन यह सापेक्ष है इसलिए यह जहां भी आप इसे चलाते हैं, वहां से pwd होगा – mcalex

उत्तर

116

यह चर cwd लिए वर्तमान कार्यशील निर्देशिका का निरपेक्ष पथ की बचत होती है:

cwd=$(pwd) 

आपके मामले में आप सिर्फ कर सकते हैं:

export PATH=$PATH:$(pwd)+somethingelse 
+1

किसी कारण से बदलता है, यह 'cwd' चर भी अद्यतन करता है। जैसे कि यह हर बार 'pwd' फ़ंक्शन को कॉल कर रहा है ... https://dpaste.de/Kn7F मैं इससे कैसे बच सकता हूं? – tutuca

+0

'$ CWD' आपके खोल में एक विशेष (आरक्षित) वातावरण चर हो सकता है। इसके बजाए एक अलग नाम आज़माएं, जैसे '$ CWD_MY_VAR' –

+0

यह केवल प्लेसहोल्डर नाम था। मेरे चर को 'OLD_PWD' कहा जाता है ... – tutuca

3
एक रिश्तेदार जवाब के लिए

, . का उपयोग

परीक्षण के साथ:

$ myDir=. 
$ ls $myDir 
$ cd/
$ ls $myDir 

पहला ls आपको वर्तमान निर्देशिका में सबकुछ दिखाएगा, दूसरा आपको रूट निर्देशिका (/) में सबकुछ दिखाएगा।

3

आपका असाइनमेंट है एक अतिरिक्त $:

export PATH=$PATH:${PWD}:/foo/bar 
1

एक और संस्करण:

export PATH=$PATH:\`pwd`:/foo/bar 
16

मैं अपने .bash_profile में निम्नलिखित है:

function mark { 
    export $1=`pwd`; 
} 

तो कभी भी मैं चाहता हूँ एक निर्देशिका याद रखें, मैं बस टाइप कर सकते हैं, उदाहरण के लिए पर निशान लगाएं।

फिर जब मैं वापस उस स्थान पर जाना चाहते हैं, मैं तो बस टाइप सीडी $ वहाँ

+0

अच्छी तरह से काम करता है लेकिन रिक्त स्थान वाले पथों के लिए, उदा। – mercergeoinfo

+2

पढ़ने के लिए पूरे पथ के लिए आपको "Google ड्राइव" को '' '' सीडी "$ foo" '' 'करना है, पथ में रिक्त स्थान के साथ समस्या को हल करने के लिए' '' निर्यात $ 1 = 'pwd'' '' '' 'निर्यात $ 1 =" 'pwd'" '' 'और फिर जब ऐसे पथ कॉल करते हैं तो' '' cd $ foo''' – mercergeoinfo

+0

के बजाय '' 'cd" $ foo "' '' का उपयोग करें यह शानदार है! –

0

आप इन-निर्माण चर PWD, इस तरह खोल का उपयोग कर सकते हैं:

export PATH=$PATH:$PWD+somethingelse 
संबंधित मुद्दे