मैं OSX में एक निष्पादन योग्य मार्ग कैसे पा सकता हूं


46

क्या एक कमांड है जिसका उपयोग मैं आसानी से एक निष्पादन योग्य के लिए रास्ता पा सकता हूं? मैं अपने स्थानीय मशीन पर पहचान के लिए देख रहा हूँ - pwd जैसा कुछ?

pwd identify
=> /usr/local/bin/identify

जवाबों:


60

which आपके द्वारा आपूर्ति किए गए तर्कों के लिए अपना रास्ता खोजेगा, यह बस किसी भी BSD या SysV UNIX के बारे में है

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

1
whichआदेश हालांकि इच्छा काम आम तौर पर काम के इस प्रकार करने के लिए उपयोग करने के लिए सही उपकरण नहीं है। यह देखें U & L Q & A: unix.stackexchange.com/questions/85249/…
slm

6
OSX पर, whichएक कस्टम स्क्रिप्ट के लिए कोई परिणाम नहीं देता है (जो कि अंदर है $PATH)। typeकर देता है।
वारबकी

17

यदि आप बैश बिलिन का उपयोग करते हैं type, तो यह आपको कमांड के लिए सभी (इन-पाथ) स्थान दिखाएगा:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

यदि कमांड एक फ़ंक्शन है, तो यह फ़ंक्शन की परिभाषा को सूचीबद्ध करेगा:

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

ये उदाहरण एक उबंटू प्रणाली से हैं, लेकिन परिणाम ओएस एक्स के लिए समान होंगे।


4
OSX पर, whichएक कस्टम स्क्रिप्ट के लिए पथ नहीं दिखाया गया है (जो कि अंदर है $PATH)। typeकर देता है।
वारबकी

3

'पहचान का पता लगाने' का प्रयास करें


5
यह तब काम करता है जब "जो" नहीं होगा क्योंकि निष्पादन योग्य आपके वर्तमान पेट में नहीं है, लेकिन बहुत सारे सामान को आप नहीं चाहते हैं। पहला पथ फ़िल्टर: "कमांड कमांड | grep बिन"। पहले "जो" का प्रयोग करें।
dmckee

0

यह इस बात पर निर्भर करता है कि आप क्या खोज रहे हैं। अधिकांश उपयोगिताओं पथ चर पर निर्भर करती हैं। हालाँकि, यदि आप जिस चीज़ की तलाश कर रहे हैं वह आपके रास्ते में है, तो आपको वास्तव में यह जानने की ज़रूरत नहीं है कि यह तब तक है जब तक कि एक ही निष्पादन योग्य की कई प्रतियां न हों।

यह OSX में चलने वाली अधिकांश चीजों पर लागू नहीं होता है, क्योंकि वे सामान्य लिनक्स / यूनिक्स बायनेरिज़ की तरह नहीं चलते हैं। यहां उन चीजों को खोजने के कुछ तरीके दिए गए हैं जो आपके पथ विवरण में नहीं हैं।

लगता है:

sudo find / -name <FILE>

यह कुछ भी मिलेगा जो फ़ाइल सिस्टम पर मौजूद है जिसे आप पहले तर्क के रूप में देते हैं। निजी निर्देशिकाओं को खोजने के लिए इसे रूट के रूप में चलाने की आवश्यकता है। यह वाइल्डकार्ड का भी समर्थन करता है यदि आप नाम के बारे में पूरी तरह सुनिश्चित नहीं हैं।

टर्मिनल:

यदि आपके पास खोजक में फ़ाइल है तो आप एक टर्मिनल विंडो खोल सकते हैं और फ़ाइल को इसमें छोड़ सकते हैं। तब टर्मिनल फ़ाइल के लिए पूर्ण पथ प्रदर्शित करता है।

स्पॉटलाइट:

सुंदर आत्म व्याख्यात्मक। आप प्रोसेसर साइकिल दान कर रहे हैं ताकि यह आपके फाई का सूचकांक बना रहे

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