मैं which
विभिन्न प्लेटफार्मों (लिनक्स बनाम सोलारिस vx। OS X) में कमांड से आउटपुट में अंतर के साथ निराश हो चुका हूं , अलग-अलग गोले संभवतः मामले में भी खेल रहे हैं। type
एक बेहतर विकल्प के रूप में सुझाव दिया गया है, लेकिन यह कितना पोर्टेबल होगा?
अतीत में मैंने ऐसे कार्य लिखे हैं जो which
मेरे द्वारा उपयोग किए गए विभिन्न उपयोग के मामलों को नियंत्रित करते हैं। वे मेरे द्वारा उपयोग की जाने वाली मशीनों पर काम करते हैं, और इसलिए मेरी निजी लिपियों के लिए ठीक हैं, लेकिन यह सॉफ़्टवेयर के लिए बहुत अविश्वसनीय लगता है कि मैं दूसरों के उपयोग के लिए कहीं पोस्ट करने जा रहा हूं।
बस एक संभव उदाहरण लेने के लिए, मान लीजिए कि मुझे एक स्क्रिप्ट से पता लगाना है कि क्या मशीन पर बैश और ज़ीश उपलब्ध हैं, और फिर ज़श के साथ एक कमांड चलाएं यदि यह मौजूद है, और बैश के साथ अगर ज़ीश नहीं है और बैश पर्याप्त है संस्करण में एक विशेष बग नहीं है। बाकी की अधिकांश स्क्रिप्ट बॉर्न शेल या रूबी या कुछ और हो सकती है, लेकिन यह एक विशेष बात (AFAIK) या तो zsh या हाल के संस्करण के साथ किया जाना चाहिए।
क्या मैं type
प्लेटफार्मों पर उपलब्ध होने पर भरोसा कर सकता हूं ? क्या कोई अन्य विकल्प है which
जो आसानी से और लगातार इस सवाल का जवाब दे सकता है कि क्या किसी विशेष सॉफ्टवेयर को स्थापित किया गया है?
(यदि आप विशेष रूप से मेरे द्वारा दिए गए उदाहरण से संबंधित विचार देना चाहते हैं, तो यह बहुत अच्छा है, लेकिन मैं मुख्य रूप से केवल सामान्य मामले के बारे में पूछ रहा हूं: किसी विशेष चीज को किसी मशीन पर स्थापित किया गया है या नहीं, यह पता लगाने का सबसे विश्वसनीय तरीका क्या है ?)
hash
औरcommand -v
।