मैक पर बैश कलर शेल?


8

आप गैर-निष्पादन योग्य फ़ाइलों की तुलना में किसी अलग रंग में बैश शेल सूची निष्पादन योग्य फ़ाइलों को कैसे बना सकते हैं?

मैंने ~/.bashrcनिम्नलिखित पंक्ति को समाहित करने की कोशिश की है (यह अन्यथा खाली है):

 LS_OPTIONS='--color=auto'

लेकिन यह काम नहीं कर रहा है। मैं क्या गलत कर रहा हूं? मैं मैक ओएस एक्स पर काम कर रहा हूं।

जवाबों:


7

lsबिना lsकिसी अन्य सॉफ़्टवेयर को बनाने या डाउनलोड करने के लिए कमांड से रंग आउटपुट चालू करने के लिए , अपने को निम्न जोड़ें ~/.bash_profile:

# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

यदि आप उन रंगों को पसंद नहीं करते हैं, तो आप अपनी पसंद के अनुसार उस रंग सूची को अनुकूलित करने के लिए इस ls रंग जनरेटर का उपयोग कर सकते हैं।

आपको करने की आवश्यकता होगी:

source ~/.bash_profile

आपके मौजूदा शेल में प्रभावी होने के लिए उनमें कोई बदलाव करने के बाद।


नहीं, यह बिल्कुल भी मदद नहीं करता है
होम्स

6

समस्या यह है कि OS X में GNU नहीं है ls; जबकि इसका lsफ़ाइल नाम रंग का समर्थन करता है, यह केवल फ़ाइल के प्रकार (फ़ाइल, निर्देशिका, सिमलिंक, डिवाइस विशेष फ़ाइल, फ़ीनो, सॉकेट ...) के द्वारा कर सकता है। coreutilsFink / MacPorts / HomeBrew से इंस्टॉल करें , फिर उपयोग करें alias ls='gls --color=auto'


धन्यवाद। मैंने coreutilsMacPorts से स्थापित किया है। aliasलाइन में होना चाहिए ~/.bashrc? वहीं मैंने इसे डाल दिया है, लेकिन मुझे कोई अंतर नहीं दिखाई दे रहा है।
एपी 257

~/.bash_aliasesबेहतर काम कर सकते हैं। मैंने यह भी पाया कि eval $(gdircolors -s)इसे स्थापित करने के लिए मुझे दौड़ने की जरूरत है ।
गीकॉशर

@ AP257: मेरे मैक पर, मैं एलियासेस को .bash_profile में डाल देता हूं
हाई वू

@ जय वू: यह केवल तभी काम करता है जब आप कभी भी सब-हेल्प का उपयोग नहीं करते हैं।
गीकौसोर

@geekosaur gdircolors: invalid option -- 's'क्या आपका मतलब है --sh?
एंथ्रोपिक

6

BSD ls थोड़ा अलग तरीके से काम करता है

alias ls='ls -G'

कार्य करना चाहिए।

और यह रंग lsको हरा नहीं है, यह रंगीकरण कर रहा है। जब बैश एक फ़ाइल सूची ( echo *एक निर्देशिका में प्रयास करें ) करता है तो रंग भरने का कोई तरीका नहीं है। टाइपिंग ls -Gकिसी भी शेल में काम करेगी, हालांकि एक शेल (जैसे बैश) जिसमें एलियाज़ होता है, यह आसान बनाता है।


6

मैक पर, आपको उपयोग करने की आवश्यकता है

export CLICOLOR=1

मैंने वह .bash_profile में डाल दिया। हालांकि, मैं -G ध्वज के साथ उर्फ ​​एलएस के लिए रिच होमोलका के समाधान को प्राथमिकता देता हूं। यदि आप रंगों को अनुकूलित करना चाहते हैं:

man ls

और LSCOLORS की खोज करें


1

brewLs और अन्य उपकरणों के GNU संस्करण को स्थापित करने और उपयोग करने पर विचार करें ।

AppStore से XCode स्थापित करें।

Homebrew स्थापित करें ...

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Coreutils स्थापित करें ...

brew install coreutils

अपने नीचे जोड़ें .profile...

export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

मैं उर्फ lsमेरे में .profileसब कुछ और पूरी सूची के लिए एक शॉर्टकट के लिए रंग करने के लिए।

alias ls='ls --color'
alias l='ls -lah'
# -l     use a long listing format
# -a     do not ignore entries starting with .
# -h     with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)

गीथूबLS_COLORS पर विकल्पों का एक गुच्छा है ।


-1

bashकेवल एक शेल है, यह फाइलों को सूचीबद्ध नहीं करता है। यह कमांड्स को निष्पादित करता है, जैसे कि ls

--colorविकल्प (और सामान्य रूप में लंबे समय के विकल्प) के संस्करण के लिए विशिष्ट है lsजीएनयू से coreutils है, जो सबसे लिनक्स वितरण के साथ आता है। दूसरी ओर, मैक ओएस एक्स में बीएसडी जड़ें हैं और बीएसडी संस्करण का उपयोग करता है, lsजो रंग का समर्थन नहीं करता है।


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