我是OS X的新手,在使用Ubuntu Linux一段时间后刚刚获得了Mac。在我想弄清楚的很多事情中,我的终端窗口中没有颜色 - 就像在运行ls -la
或git status
时显示的那些(在Linux上)...
我无法弄清楚如何激活shell中的颜色。
答案 0 :(得分:715)
我知道,这个帖子已经老了,但问题不是。
这是我发现能够实现全球化的解决方案 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月)上验证。
答案 1 :(得分:115)
您可以在其中一个启动脚本中使用基于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\]
\[\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 :(得分:38)
MartinVonMartinsgrün和4Levels方法在Mac OS X Mountain Lion上得到了很好的证明。
我需要更新的文件是〜/ .profile。
但是,如果不推荐我最喜欢的应用程序iTerm 2,我就不能离开这个问题。
iTerm 2允许您从文件加载全局颜色方案。真的很容易实验并尝试一堆配色方案。
这是iTerm 2窗口和颜色首选项的屏幕截图。
一旦我将以下内容添加到我的〜/ .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 Color Schemes on Github by mbadolato
奖励:选择“使用系统范围的热键显示/隐藏iTerm2”并将密钥绑定到BetterTouchTool 立即用鼠标手势隐藏/显示终端。
答案 3 :(得分:15)
如果你想让你的ls着色你必须编辑〜/ .bash_profile文件并添加以下行(如果还没有写):
source .bashrc
然后编辑或创建〜/ .bashrc文件并为ls命令写一个别名:
alias ls="ls -G"
现在,如果已经启动,您必须在终端中键入source .bashrc
,或者只需打开一个新终端。
如果您需要ls
juste中的更多选项,请阅读手册(man ls
)。选项与GNU / Linux系统中的选项不完全相同。
答案 4 :(得分:4)
检查$ TERM给出的内容:我的是xterm-color,而ls -alG然后进行着色输出。
答案 5 :(得分:4)
如果您使用的是tcsh,请编辑~/.cshrc
文件以包含以下行:
setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad
就像Martin说的那样,LSCOLORS指定了你想要使用的颜色方案。
要生成您要使用的LSCOLORS,请查看此site
答案 6 :(得分:2)
当我在实验室中使用Mac OS X时,我能够使用终端(而不是X11)获得终端颜色,然后编辑配置文件(从Mac菜单栏中)。界面在颜色上有点奇怪,但您必须将修改后的主题设置为默认值。
通过编辑.bashrc
进一步设置。