क्या है / usr / bin / [?


21

मैं / usr / bin में बस इधर-उधर ताक रहा था और मुझे एक ELF बाइनरी फाइल मिली [/usr/bin/[। मैंने इस फ़ाइल के बारे में कभी नहीं सुना है और मेरा पहला विचार यह था कि यह एक कार्यक्रम को छिपाने का एक चतुर तरीका था, संभवतः एक ट्रोजन। हालाँकि यह मेरे सभी CentOS सर्वर पर मौजूद है और लगता है कि इसमें कोई मैन्युअल प्रविष्टि नहीं है। मैं एक अनुमान लगा सकता हूं कि यह क्या है लेकिन मैं एक अधिक आधिकारिक उत्तर की तलाश में था ...

जवाबों:


23

यह 'परीक्षण' कमांड का एक वैकल्पिक रूप है। ज्यादातर लिपियों में इस्तेमाल किया जाता है।

अर्थात

if [ $VAR ]
then
    echo $VAR exists!
fi

3
लेकिन परीक्षण के विपरीत इसकी अंतिम आवश्यकता होती है]
फ्लोरियन डिस्च

4
[ है एक पार्टी में निर्मित, लेकिन इतना है test। सभी गोले समान नहीं बने हैं - उनमें से बहुत सारे, test(और [) बिलियन नहीं हैं।
मो

2
एक बैश बिल्ट-इन है, या कम से कम, मेरा सिस्टम वैसे ही काम कर रहा है जैसा कि है। [--help / usr / bin / [--help से अलग इनपुट देता है
मैट सीमन्स

3
परीक्षण और [को काटने के लिए बनाया गया है, लेकिन जरूरी नहीं कि सभी अन्य गोले हैं। आप अस्थायी रूप से पथ से बाहर जा सकते हैं और एक बैश स्क्रिप्ट चला सकते हैं जो या तो उपयोग करता है और आप देखेंगे कि स्क्रिप्ट अभी भी काम करती है।
ज़ॉडेचेस

3
@ जोश: एक बार एक और सहस्राब्दी में, बॉर्न शेल में निर्मित परीक्षण ऑपरेटर नहीं था। यह किसी अन्य की तरह एक नियमित आदेश था; और / बिन / परीक्षण उल्लेखनीय सुविधा देने के लिए / बिन / [से जुड़ा था।
जोनाथन लेफ़लर

8

जब आप किसी चीज का उपयोग कर रहे होते हैं तो उसे कॉल करते हैं

if [ -e foo ]; then ...

एक शेल स्क्रिप्ट में (लेकिन अधिकांश शेल इस समय एक बिल्डिन के रूप में है)। मैन टेस्ट आपको डॉक्स देना चाहिए।


मैं आपके उत्तर को स्वीकार करूंगा लेकिन Zypher ने आपको कुछ सेकंड के लिए हरा दिया ... क्षमा करें :-)
जोश

2

जैसा कि दूसरों ने बताया, [शेल की स्थिति मूल्यांकन उपयोगिता है - परीक्षण।

वास्तव में, उसके लिए एक मैनुअल पेज है!

$ आदमी [

आपको शुरुआती वर्ग ब्रैकेट के बारे में अधिक जानकारी देनी चाहिए।

Btw, ओएस एक्स में, [में स्थित है /bin/[:)

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