2010-02-01 17 views
50

लिनक्स सिस्टम पर /bin/true क्या है?क्या/bin/true

+0

/foo/bar || सत्य (काम करता है अगर/bin/true) पथ में है। हालांकि इस तरह लेबल नहीं किया गया है, यह सवाल कुछ ऐसी चीज बताता है जो शैल स्क्रिप्ट, मेकफ़ाइल इत्यादि में उपयोगी है .. इस प्रकार बंद करने के लिए वोट नहीं दे रहा है। –

+0

http://forums.thedailywtf.com/forums/t/3779.aspx –

+0

आप [उनके स्रोत कोड] पर एक नज़र रखना चाहते हैं (https://askubuntu.com/questions/454117/why-is -bin-सच में इस तरह के एक बड़े-फ़ाइल-कैसे-हैं-ए-लगता है-स्रोत-कोड); क्योंकि मैं उत्सुक था। –

उत्तर

54

/bin/true एक आदेश है कि 0 (शेल में एक सच मान) रिटर्न है।

इसका उद्देश्य एक शेल स्क्रिप्ट में स्थानों में उपयोग करना है जहां आप आम तौर पर एक प्रोग्रामिंग भाषा में "सच" जैसे शाब्दिक उपयोग करेंगे, लेकिन जहां खोल केवल चलाने के लिए एक कमांड लेगा।

/bin/false विपरीत है जो शून्य-शून्य (खोल में झूठा मान) देता है।

19

आदमी पृष्ठ से:

true - do nothing, successfully 

true returns a status 0. 
+15

किसी भी तरह से मुझे लगता है कि यह मजाकिया है। सफलतापूर्वक कुछ भी नहीं, लॉल। – syaz

+30

सियाज़: आप 'झूठी (1)' के विवरण से भी खुश हो सकते हैं: "कुछ भी नहीं, असफल"। – camh

0

बस यह कह रहा है कि यह प्रोग्राम 0 लौटा रहा है। कभी-कभी हमें स्क्रिप्ट को और अधिक पठनीय बनाने के लिए यह मान प्राप्त करने की आवश्यकता होती है।

7

नोट, यह सिर्फ मूर्ख या दृष्टि से अच्छा नहीं है। यह उदाहरण के लिए अंत हैंडलर को सक्रिय किए बिना प्रोग्राम से बाहर निकलने में मदद करता है जो बहु थ्रेडिंग या फोर्कड प्रोग्राम करते समय गड़बड़ कर सकता है। पर्ल की तरह:

#!/usr/bin/env perl 

exec "/bin/true"; 

END { 
    print "This wont get printed .. would have if I just 'exit' or 'die'\n"; 
} 
0

मैंने देखा है यह एक कमांड सोच में एक प्रणाली आपरेशन मूर्ख के लिए किया जाता है, जब यह नहीं है समाप्त हो गया है। यदि कोई आदेश दोषपूर्ण है जैसे लूपिंग, तो आप मास्टर जॉब को चलाने के लिए इसे 'सिम' पर सिमलिंक से बदल सकते हैं। केवल एक अच्छा विचार अगर नौकरी बदल दी गई है तो आवश्यक नहीं है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^