हो सकता है कि कुछ और चल रहा हो। lsरंगों का उपयोग तब तक नहीं करना चाहिए जब तक कि यह नहीं लगता कि यह कुछ इंटरैक्टिव से जुड़ा हुआ है। जब आप किसी अन्य प्रोग्राम में जाते हैं तो यह चीजों को रंग नहीं देना चाहिए।
एक उपनाम आमतौर पर एक बुरा विचार है क्योंकि आप कभी भी उस विकल्प से छुटकारा नहीं पा सकते हैं और आप व्यक्तिगत सेटिंग्स के आदी हो जाते हैं कि आप अपने साथ किसी अन्य मशीन पर ले जाने में सक्षम नहीं हो सकते हैं जिस पर आपको काम करना है। यदि आपको इसे किसी और चीज़ के लिए पाइप करने के लिए बंद करने की आवश्यकता है, तो उस पाइप में स्विच का उपयोग करें। लेकिन, रंगों को एक पाइप में नहीं होना चाहिए।
के लिए ls, देखें कि क्या आपका LS_COLORSपर्यावरण चर का समर्थन करता है । Trapd00r / LS_COLORS आप कैसे tht काम करता है पता चलता है। dircolors आपको रंगों को न्यूनतम और प्रति फ़ाइल प्रकार समायोजित करने देता है। यदि आप सेट नहीं करते हैं, LS_COLORSलेकिन रंग चालू है, lsतो फ़ाइल प्रकारों और विशेषताओं का पता लगाने के लिए सिस्टम कॉल का एक गुच्छा बना देगा ताकि यह पता लगा सके कि चीजों को क्या रंग देना है। शरलॉक के पीछे के लोगों ने पाया कि सेटिंग LS_COLORSसे सभी बच सकते हैं और गति में 40x सुधार दे सकते हैं । उन्होंने क्या पाया, यह देखने के लिए उनके विवरण पढ़ें।
मैं सभी फ़ाइल प्रकारों को डिफ़ॉल्ट रंगों का उपयोग करता हूं:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
यहाँ LS_COLORS फ़ाइल है जिसे मैंने dircolors को खिलाया है:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
के लिए grep, देखें कि क्या आपका समर्थन करता है GREP_COLORSया GREP_OPTIONS।
lsऔरgrepजब पाइपिंग के लिए आपको कुछ भी करने की आवश्यकता नहीं है क्योंकि--color=autoपहले से ही रंग बंद हो जाता है जब उसका आउटपुट पाइप होता है, या वास्तव में कुछ भी लेकिन एक टटी; यही 'ऑटो' का मतलब है। इसी तरह FreeBSDls -Gया 'CLICOLOR' 'अक्षम है यदि आउटपुट टर्मिनल पर निर्देशित नहीं है, जब तक ... CLICOLOR_FORCE ...'।