2009-10-11 225 views
420

我是OS X的新手,剛剛在使用Ubuntu Linux工作一段時間後得到了Mac。在我試圖弄清的許多事情中,終端窗口中沒有顏色 - 就像在運行時顯示的那樣(在Linux上)ls -lagit status ...OS X終端顏色

我只是無法弄清楚如何激活我的外殼中的顏色。

+9

可能重複的[如何配置Mac終端有顏色ls輸出](http://stackoverflow.com/questions/973899/how-to-configure-mac-terminal-to-have-color-ls-output ) – 2010-05-24 00:31:40

+22

關閉爲「off topic」,但看看標籤:osx,shell,終端,顏色......在我看來,這完全是主題。包括OSX,這是關於殼,使用終端,並希望添加顏色。必須編輯bash配置文件,所以是的,我會說這是主題。 – 2014-03-08 08:37:02

+7

明確的話題是關於bash腳本。 – superluminary 2014-07-20 18:19:28

回答

650

我知道,這個線程是舊的,但問題不是。

下面是我發現的一個解決方案,用於啓用全局 terminal colors

編輯您的.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

Sierra已驗證(2017年5月)。

+19

只是通過將它添加到.bash_profile並且它工作。當我將它添加到.profile時沒有工作。謝謝! – Morten 2011-08-14 07:40:36

+0

只是在雪豹上做了這個,你需要在你的.bashrc中進行修改。 – longda 2012-01-22 08:04:23

+10

我剛剛編輯了我的'/ etc/profile',它就像一個魅力一樣。 – Cyclonecode 2012-04-05 09:33:32

4

檢查$ TERM給出的是:mine是xterm-color,然後ls -alG會着色輸出。

+0

好吧,在與'xterm-256color'的capitan,我沒有得到任何顏色。 'CLICOLOR'和'LSCOLORS'不會改變): – drevicko 2016-07-18 09:41:40

15

如果您希望您的LS着色,你必須編輯你的〜/ .bash_profile文件中添加以下行(如果尚未寫入):

source .bashrc 

然後編輯或創建的〜/ .bashrc文件,並寫入的別名ls命令:

alias ls="ls -G" 

現在,你必須在終端輸入source .bashrc是否已經啓動,或只需打開一個新的終端。

如果你想在你的ls更多的選項理由閱讀手冊(man ls)。選項與GNU/Linux系統中的選項不完全相同。

+6

一個更好的選擇是用'export CLICOLOR ='''替換'別名'定義。即使在終端會話期間切換shell,通常也會繼續工作(只要環境變量是繼承的 - 別名不是)。 – 2009-10-11 17:32:32

2

當我在實驗室中使用Mac OS X時,我能夠使用終端(而不是X11)獲取終端顏色,然後編輯配置文件(從Mac菜單欄)。界面在顏色上有點奇怪,但你必須將修改後的主題設置爲默認值。

進一步的設置通過編輯.bashrc工作。

107

您可以在其中一個啓動腳本中使用基於Linux的語法。剛剛在OS X Mountain Lion盒子上測試過這個。

例如。在你的~/.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\]

我總是在root的.bash_profile以將添加一個稍微修改顏色方案用戶名紅色,所以我總是清楚我是否以root用戶身份登錄(如果我有很多終端窗口打開,方便以避免錯誤)。

/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文件,則可以創建該文件,並且應該在登錄時找到該文件。

+2

如何在線編輯bash_profile的ssh帳戶? – 2013-04-08 20:52:28

+1

我喜歡'PS1',用'$ PWD'而不是'\ u',因此:'PS1 = \ [\ e [0; 31m \] $ PWD \ [\ e [0m \] @ \ [\ e [0; 32m \] \ h \ [\ e [0m \]:\ [\ e [0; 34m \] \ w \ [\ e [0m \] \''' – cregox 2013-08-21 17:39:20

+1

下面是關於提示:https://wiki.archlinux.org/index.php/Color_Bash_Prompt#Step_by_step。 – JohnK 2013-09-10 14:22:00

3

如果你用tcsh,然後編輯~/.cshrc文件,包括行:

setenv CLICOLOR 1 
setenv LSCOLORS dxfxcxdxbxegedabagacad 

哪裏,就像馬丁說,LSCOLORS指定要使用的顏色方案。

要生成您要使用的LSCOLORS,結賬這個site

+3

自2003年10月以來'bash'一直是OS X的默認設置。 – crazysim 2013-02-26 18:53:32

+0

我認爲你是對的。我剛剛得到一個新的Mac,它有默認的bash。我猜想IT部門一直在設置我的Mac,默認情況下有tcsh。 – smaccoun 2013-03-07 00:22:30

+1

鏈接真棒! – Sankalp 2016-09-21 22:48:21

34

MartinVonMartinsgrün和4Levels方法確認工作在Mac OS X山獅大。

我需要更新的文件是〜/ .profile。

但是,我不能不推薦我最喜歡的應用程序,iTerm 2

iTerm 2可讓您從文件加載全局配色方案。真的很容易實驗,並嘗試一堆配色方案。

下面是iTerm 2窗口和顏色首選項的屏幕截圖。 iTerm2 Color Preferences Screenshot Mac

一旦我將以下內容添加到我的〜/ .profile文件中,iTerm 2能夠覆蓋顏色。

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

這裏是一個巨大的資源庫和一些不錯的預設:

iTerm2 Color Schemes on Github by mbadolato

紅利:選擇「顯示/隱藏iTerm2與全系統熱鍵」,並與BetterTouchTool 一個綁定的關鍵即時隱藏/用鼠標手勢顯示終端。

+1

iTerm2經常在我的系統上崩潰,所以我切換到了oh-my-zsh https://github.com/robbyrussell/oh-my-zsh。也有主題可用 – 2013-04-11 13:48:41

+0

嘿!請將'baskerville'鏈接更改爲正確的鏈接。似乎錯誤的複製粘貼。 – 2014-07-03 10:54:00

+0

@NickWoodhams,你在截圖中使用的顏色主題是什麼? – 2015-02-09 11:13:40