कमांड-लाइन एप्लिकेशन में रंग का उपयोग करना कब उचित है?


14

वर्तमान में मेरे पास C नामक एक कमांड-लाइन एप्लिकेशन हैbtcwatch । इसका एक -Cविकल्प है कि वह एक तर्क के रूप में प्राप्त कर सकता है जो बिटकॉइन की वर्तमान कीमत की तुलना उस कीमत के साथ करता है जिसे पहले से संग्रहीत किया गया था -S। इस विकल्प के साथ उदाहरण आउटपुट है:

$ btcwatch -vC  # -v = verbose
buy: UP $ 32.000000 USD (100.000000 -> 132.000000)
sell: UP $ 16.000000 USD (100.000000 -> 116.000000)

दुविधा यह है कि रंग का उपयोग UPया DOWNस्ट्रिंग (क्रमशः हरे और लाल) के लिए किया जाए। अधिकांश कमांड-लाइन एप्लिकेशन जिन्हें मैं जानता हूं (गिट के अलावा) उनके आउटपुट में रंग से दूर रहते हैं। btcwatchदेखने के लिए और काफी "मानक" ( getoptमेकफाइल्स, आदि का उपयोग ) करने की मेरी इच्छा में , मुझे यकीन नहीं है कि अगर रंग इस स्थिति में जगह से बाहर दिखाई देगा।


git के आउटपुट में रंग है? क्या मैं अभी तक उस विशेष कमांड पर नहीं चला हूं जो ऐसा करता है?
इज़्काता

नीचे महान जवाब। लेकिन हमेशा रंग के बारे में याद रखें कि आपके उपयोगकर्ताओं का एक गैर-तुच्छ हिस्सा लाल और हरे रंग के बीच अंतर नहीं कर पाएगा।
रॉस पैटरसन

Izkata: git diff, git pull, आदि
मार्को Scannadinari


@marcoms मेरे लिए कलर आउटपुट नहीं है। मैंने इसे सक्षम करने के लिए कोई विशेष कॉन्फ़िगरेशन नहीं किया है, हालांकि।
इज़काता

जवाबों:


21

उपयुक्त बात यह है कि रंग को वैकल्पिक बनाने के लिए, "बंद" के लिए डिफ़ॉल्ट और एक कमांड-लाइन ध्वज के माध्यम से इसे नियंत्रित करें। इस तरह, जो लोग इसे पसंद नहीं करते हैं या जिनके टर्मिनल का समर्थन नहीं करता है वे प्रभावित नहीं होते हैं, जो लोग इसे पसंद करते हैं वे इसका उपयोग कर सकते हैं, और जो लोग वास्तव में, वास्तव में इसे पसंद करते हैं वे विकल्प को पूर्वनिर्धारित करने के लिए एक उपनाम या शॉर्टकट को परिभाषित कर सकते हैं। हर कोई खुश है।


5
यह की कार्यक्षमता है ls( ls --colorइसे चालू करने के लिए विकल्प की आवश्यकता है)।

@ मिचेल्ट: वाक़ई? मुझे लगता है कि यह आपके द्वारा उपयोग किए जाने वाले वितरण पर निर्भर करता है। आउटपुट (लगभग) में हमेशा रंग होता है और मैं कभी निर्दिष्ट नहीं करता --color
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner बीएसडी स्वाद। /bin/lsसादा है, /bin/ls -Gरंगीन है (हालांकि यदि आपके पास पर्यावरण में स्पष्ट रूप से परिभाषित किया गया है, तो वह विकल्प डिफ़ॉल्ट रूप में कार्य करता है)। में जीएनयू वितरण प्रभावित , देखता है --colorऔर इससे संबंधित वातावरण चर।

1
"जब रंग अनिवार्य होना चाहिए या नहीं होना चाहिए" का शानदार उत्तर, "जब उपयुक्त हो तब के लिए कम" :)
माइकल ड्यूरेंट

3
उदाहरण के लिए, ubuntu पर @FrustratedWithFormsDesigner, alias ls='ls --color=auto'डिफ़ॉल्ट में आता है .bashrc(या यदि यह अब और नहीं करता है, तो इसने लगभग 8.04 दिया या एक वर्ष ले लिया है, और मैंने अभी-अभी अपने .bashrc को पूरे संस्थापन में ले लिया है)
इज़काता

9

मैं कब रंग का उपयोग करना उचित समझूंगा:

  • वस्तुओं के 'समूह' हैं और रंग समूह नेत्रहीन समूहों को आइटम बनाने में मदद करेंगे।

  • 'लेबल: मान' फ़ील्ड के सेट (ओं) हैं और आप चाहते हैं कि लेबल (या मान) बाहर खड़े हों।

  • ऐसे आइटम हैं जो लाल / हरे रंग में दिखाए जाने से लाभान्वित होंगे, जैसे स्टॉप / गो, गुड / बैड, आदि।

  • अधिकांश जानकारी पृष्ठभूमि है, लेकिन एक प्रमुख आइटम बाहर खड़ा होना चाहिए।


5

विचार करने के लिए एक अन्य प्रमुख कारक यह है कि रंग, प्लेटफॉर्म के आधार पर, वर्ण भागने के दृश्यों को जोड़ सकता है। उन प्लेटफ़ॉर्म पर बिल्ड के लिए, यदि वर्तमान / डिफ़ॉल्ट मोड रंग को आउटपुट करने के लिए है, तो यह पता लगाने के लिए प्रथागत है कि यदि प्रोग्राम आउटपुट एक पीआईपीई है और अगर यह मामला है तो रंग अलग करना चाहिए।

ऐसा इसलिए है कि रंग से बचने के क्रम डाउनस्ट्रीम कार्यक्रमों को फेंक नहीं देते हैं जो पढ़ते हैं कि यह आउटपुट है।


अच्छी बात है, मुझे लगता है कि इस तरह के कार्यक्रमों के लिए एक --colour(या --no-colour) विकल्प अधिक अनुकूल होगा
मार्को स्कैनाडिनेरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.