सवाल मैं ओएसएक्स में निष्पादन योग्य के पथ को कैसे ढूंढ सकता हूं


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

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

38
2018-06-12 13:31


मूल




जवाब:


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

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

48
2018-06-12 13:33



which आदेश हालांकि काम करेगा इस प्रकार के काम करने के लिए आम तौर पर सही उपकरण नहीं है। यह यू एंड एल क्यू एंड ए देखें: unix.stackexchange.com/questions/85249/... - slm
ओएसएक्स पर, which एक कस्टम स्क्रिप्ट के लिए कोई परिणाम नहीं देता है (जिसमें है $PATH)। type कर देता है। - wisbucky


यदि आप बैश बिल्टिन का उपयोग करते हैं 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"
}

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


15
2018-06-12 15:25



ओएसएक्स पर, which एक कस्टम स्क्रिप्ट के लिए पथ नहीं दिखाता है (जिसमें है $PATH)। type कर देता है। - wisbucky


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


3
2018-06-12 13:33



यह तब काम करता है जब "कौन" नहीं होगा क्योंकि निष्पादन योग्य आपके वर्तमान पैथ में नहीं है, बल्कि आप जो भी सामान नहीं चाहते हैं उसे फेंकने के लिए भी काम करता है। पहला पथ फ़िल्टर: "कमांड कमांड | grep bin"। पहले "कौन" का प्रयोग करें। - dmckee
यह एक अच्छी कॉल है, धन्यवाद। - Chopper3


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

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

लगता है:

sudo find / -name <FILE>

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

टर्मिनल:

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

स्पॉटलाइट:

सुंदर आत्म व्याख्यात्मक। आप प्रोसेसर चक्र दान कर रहे हैं ताकि यह आपके फाई की अनुक्रमणिका रख सके


0
2018-06-19 16:15