OS X टर्मिनल रंग [बंद]


492

मैं ओएस एक्स के लिए नया हूं, कुछ समय के लिए उबंटू लिनक्स के साथ काम करने के बाद एक मैक प्राप्त किया है। बहुत सी बातें मैं यह पता लगाने की कोशिश कर रहा हूँ के अलावा मेरे टर्मिनल विंडो में रंग का अभाव है - जो कि (लिनक्स पर) दिखाए जाते हैं चल रहा है की तरह ls -laया git status...

मैं अभी पता नहीं लगा सकता कि मेरे खोल में रंगों को कैसे सक्रिय किया जाए।



32
"ऑफ़ टॉपिक" के रूप में बंद है, लेकिन टैग देखें: ओएक्सएक्स, शेल, टर्मिनल, रंग ... ऐसा लगता है कि यह पूरी तरह से विषय पर है। OSX को कवर करता है, यह शेल के बारे में है, टर्मिनल का उपयोग करता है और रंगों को जोड़ना चाहता है। बैश प्रोफ़ाइल को संपादित करना है, तो हाँ, मैं कहूंगा कि यह विषय पर है।
डेनिजेल-जेम्स डब्ल्यू

12
स्पष्ट रूप से विषय पर, यह बैश स्क्रिप्टिंग के बारे में है।
अतिशयोक्ति

5
बंद, आप मजाक कर रहे हो! स्पष्ट रूप से यह कई (ज्यादातर नए) मैक कोडर्स के लिए उपयोगिता और मूल्य है। यदि यह बंद करने वाले लोग इसे बंद विषय के बारे में गंभीर हैं, तो इसे एसई थिंक डिफरेंट कहने के लिए माइग्रेट क्यों न करें। मैं इसे अन्य एसई समूहों में उपयोग किए जाने वाले फ़ंक्शन का समर्थन करता हूं।
Cam_Aust

इस उत्तर पर एक नज़र डालें: stackoverflow.com/a/48216286/3782119
Shayan Amani

जवाबों:


745

यहाँ एक समाधान है जो मैंने वैश्विक टर्मिनल रंगों को सक्षम करने के लिए पाया है ।

अपने .bash_profile(OS X 10.8 के बाद से) को संपादित करें - या (10.7 और उससे पहले के लिए): .profileया .bashrcया /etc/profile(उपलब्धता के आधार पर) - अपने होम डायरेक्टरी में और निम्नलिखित कोड जोड़ें:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 बस अपने टर्मिनल के रंग में सक्षम बनाता है।

LSCOLORS=... निर्दिष्ट करता है कि विशिष्ट वस्तुओं को कैसे रंगना है।

संपादन के बाद .bash_profile, एक टर्मिनल शुरू करें और परिवर्तनों को क्रियान्वित करने के लिए बाध्य करें:

source ~/.bash_profile

फिर जाएं Terminal > Preferences, Profilesटैब पर क्लिक करें और फिर Textसबटैब और चेक करें Display ANSI Colors

सिएरा (मई 2017) पर सत्यापित।


21
बस इसे .bash_profile में जोड़कर किया और यह काम करता है। जब मैंने इसे .profile में जोड़ा तो काम नहीं किया। धन्यवाद!
मोर्टन

10
मैंने अभी अपना संपादन किया है /etc/profileऔर यह एक आकर्षण की तरह काम करता है।
साइक्लोनोस्कोप

2
@Morten और उनके बैश प्रोफाइल से जूझ रहे अन्य लोगों के लिए, स्पष्टीकरण और समाधान के लिए इन उत्तरों को देखें: stackoverflow.com/a/7780055/665488 , superuser.com/a/244990
कैम जैक्सन

4
dotfiles / .aliases एक महान है export LS_COLORSबयान
bobobobo

16
आप एक ही रंग चाहते हैं लिनक्स का उपयोग करता है, का उपयोग करें (कम से कम Debian और Ubuntu पर)LSCOLORS=ExGxFxdxCxDxDxxbaDecac
remram

125

आप अपने स्टार्टअप स्क्रिप्ट में लिनक्स आधारित सिंटैक्स का उपयोग कर सकते हैं। बस एक ओएस एक्स माउंटेन शेर बॉक्स पर यह परीक्षण किया।

जैसे। अपने में~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

यह आपको एक अच्छा रंगीन संकेत देता है। रंगीन lsआउटपुट जोड़ने के लिए , आप जोड़ सकते हैं alias ls="ls -G"

परीक्षण करने के लिए, बस source ~/.bash_profileअपने वर्तमान टर्मिनल को अपडेट करने के लिए दौड़ें ।

रंगों के बारे में ध्यान दें: रंग एक भागने के क्रम से पहले होते हैं \eऔर एक रंग मूल्य द्वारा परिभाषित होते हैं, जो [style;color+m]एक बच गए []अनुक्रम से बना और लिपटे होते हैं । जैसे।

  • लाल = \[\e[0;31m\]
  • बोल्ड रेड (स्टाइल 1) = \[\e[1;31m\]
  • स्पष्ट रंग = \[\e[0m\]

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

इन /root/.bash_profile:

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

मेरे सभी SSH खातों के लिए ऑनलाइन मैं होस्टनाम को लाल रंग में रखना सुनिश्चित करता हूं, यह पहचानने के लिए कि क्या मैं स्थानीय या दूरस्थ टर्मिनल में हूं। बस .bash_profileसर्वर पर अपने घर में फ़ाइल को संपादित करें .. यदि .bash_profileसर्वर पर कोई फ़ाइल नहीं है, तो आप इसे बना सकते हैं और इसे लॉगिन पर इसे सॉर्ट किया जाना चाहिए।

अगर यह आपके लिए उम्मीद के मुताबिक काम नहीं कर रहा है, तो कृपया नीचे दिए गए कुछ टिप्पणियों को पढ़ें क्योंकि मैं बहुत बार मैकओएस का उपयोग नहीं कर रहा हूं।

यदि आप दूरस्थ सर्वर पर ऐसा करना चाहते हैं, तो जाँच करें कि क्या ~/.bash_profileफ़ाइल मौजूद है। यदि नहीं, तो बस इसे बनाएं और इसे आपके अगले लॉगिन पर स्वचालित रूप से खट्टा होना चाहिए।


2
आप ssh खातों के लिए bash_profile को ऑनलाइन कैसे संपादित करते हैं?
एंडी

1
मुझे इसके बजाय PS1बेहतर पसंद $PWDहै \u, जैसे:PS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$
cregox

1
यहाँ शीघ्र के लिए कोड के कुछ और स्पष्टीकरण दिए गए हैं: wiki.archlinux.org/index.php/Color_Bash_Prompt#Step_by_step
जॉन सेप

1
ये लिंक मददगार भी हो सकते हैं: एएनएसआई रंग कोड एस्केप सीक्वेंसPS1 कोड पर अधिक
जॉनके

1
मैं इन रंग कोड का उपयोग करके एल कैपिटान (ओएस एक्स 10.11) में सही ढंग से प्रदर्शित करने के लिए PROMPT_COMMAND रंग प्राप्त करने में समस्या हो रही थी। यह पता चला है कि जब उपयोग किया जाता है PROMPT_COMMAND, तो आपको \033सिंटैक्स का उपयोग करने की आवश्यकता होती है \e। अपने प्रॉम्प्ट से पहले एक रंगीन टाइमस्टैम्प जोड़ने के लिए उदाहरण (इसे अपने ~/.bashrcया में शामिल करें ~/.bash_profile):PROMPT_COMMAND="${PROMPT_COMMAND}; echo; echo -e '\033[0;35m'\[\$(date +%F\ %T)\]'\033[m'"
user5359531

42

MartinVonMartinsgrün और 4Levels तरीकों ने मैक ओएस एक्स माउंटेन लायन पर शानदार काम करने की पुष्टि की।

मुझे जिस फ़ाइल को अपडेट करने की आवश्यकता थी, वह ~ / .profile थी।

हालाँकि, मैं अपने पसंदीदा एप्लिकेशन iTerm 2 की सिफारिश किए बिना इस सवाल को नहीं छोड़ सकता था

iTerm 2 आपको एक फ़ाइल से वैश्विक रंग योजनाओं को लोड करने देता है। वास्तव में प्रयोग करने में आसान और रंग योजनाओं का एक गुच्छा।

यहाँ iTerm 2 विंडो और रंग वरीयताओं का एक स्क्रीनशॉट है। iTerm2 रंग वरीयताएँ स्क्रीनशॉट मैक

एक बार जब मैंने अपनी ~ / .profile फ़ाइल में निम्न जोड़ दिया तो iTerm 2 रंगों को ओवरराइड करने में सक्षम था।

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

यहाँ कुछ अच्छे प्रीसेट के साथ एक शानदार भंडार है:

मिटबोलटो द्वारा जीथब पर iTerm2 कलर स्कीम

बोनस: चुनें "दिखाएँ / छुपाएँ सिस्टम-वाइड हॉटकी साथ iTerm2" और बाँध के साथ कुंजी BetterTouchTool एक पल छिपाने के लिए / एक माउस भाव के साथ टर्मिनल दिखा।


1
iTerm2 मेरे सिस्टम पर अक्सर दुर्घटनाग्रस्त हो जाता है, इसलिए मैंने ओह-माय-ज़श github.com/robbyrussell/oh-my-zsh पर स्विच किया । उपलब्ध थीम भी हैं
लकीमलाका

अरे! कृपया baskervilleलिंक को उचित एक में बदलें । गलत कॉपी-पेस्ट लगता है।
जेवगेनी स्मिरनोव

@NickWoodhams, स्क्रीनशॉट में आप किस रंग-विषय का उपयोग कर रहे हैं?
इन्द्रधनुष गुप्ता

1
@IndradhanushGupta यकीन नहीं हो रहा है कि रंग योजना क्या थी, यह कुछ समय पहले थी। लेकिन अब मैं शुद्ध ZSH विषय का उपयोग कर रहा हूं और इसे प्यार कर रहा हूं। github.com/sindresorhus/pure
निक वुडहम्स

1
यह एक अच्छी रंग योजना है और मुझे आइटम प्रकार / डायर और आदि की जांच करने की आवश्यकता है
rio

17

यदि आप अपने ls को रंगीन करना चाहते हैं, तो आपको अपनी ~ / .bash_profile फ़ाइल को संपादित करना होगा और निम्नलिखित पंक्ति जोड़नी होगी (यदि पहले से लिखा नहीं है):

source .bashrc

फिर आप संपादित करें या ~ / .bashrc फ़ाइल बनाएँ और ls कमांड में एक उपनाम लिखें:

alias ls="ls -G"

अब आपको source .bashrcपहले से लॉन्च किए गए टर्मिनल में टाइप करना है, या बस एक नया टर्मिनल खोलना है।

यदि आप अपने lsजस्ट में अधिक विकल्प चाहते हैं तो मैनुअल पढ़ें ( man ls)। विकल्प बिल्कुल एक GNU / Linux सिस्टम की तरह नहीं हैं।


6
एक बेहतर विकल्प यह है कि 'एलाइज़' की परिभाषा को 'एक्सपोर्ट CLICOLOR = "" "से बदला जाए। यह आमतौर पर तब तक काम करने का लाभ है जब आप एक टर्मिनल सत्र के दौरान गोले स्विच करते हैं (जब तक पर्यावरण चर विरासत में मिला है - उपनाम नहीं हैं)।
नेड डिली

5

यदि आप tcsh का उपयोग कर रहे हैं, तो ~/.cshrcलाइनों को शामिल करने के लिए अपनी फ़ाइल को संपादित करें :

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

जहां, मार्टिन कहते हैं, LSCOLORS उस रंग योजना को निर्दिष्ट करता है जिसका आप उपयोग करना चाहते हैं।

आपके द्वारा उपयोग किए जाने वाले LSCOLORS को उत्पन्न करने के लिए, इस साइट को चेकआउट करें


4
bashअक्टूबर 2003 से OS X में डिफ़ॉल्ट रहा है।
nelsonjchen

1
मुझे लगता है कि आप सही हैं। मुझे बस एक नया मैक मिला और उसमें डिफ़ॉल्ट रूप से बैश था। मुझे लगता है कि आईटी ने अपने macs को डिफ़ॉल्ट रूप से tcsh करने के लिए काम पर रखा है।
smaccoun

1
लिंक बस कमाल है!
संकल्प

4

जाँच करें कि $ TERM क्या देता है: मेरा xterm-color है और ls -alG है फिर रंगीन आउटपुट देता है।


खैर, कैपिटान के साथ xterm-256color, मुझे कोई रंग नहीं मिला। CLICOLORऔर LSCOLORSयह मत बदलो):
drevicko

2

जब मैंने लैब में मैक ओएस एक्स पर काम किया तो मैं टर्मिनल रंगों का उपयोग टर्मिनल (एक्स 11 के बजाय) और फिर प्रोफाइल (मैक मेनू बार से) का संपादन करने में सक्षम था। रंगों पर इंटरफ़ेस थोड़ा अजीब है, लेकिन आपको संशोधित थीम को डिफ़ॉल्ट के रूप में सेट करना होगा।

आगे की सेटिंग एडिटिंग द्वारा काम की है .bashrc

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