我建议更改终端模拟器的设置。
看来您正在使用iTerm2(如果您使用的是 iTerm,我建议您查看 iTerm2),因此:
设置→个人资料→您的个人资料→颜色。在“基本颜色”下,调整“前景”。
只需更改输入文本的颜色,在 Z shell ( zsh) 中,您可以使用
preexec () { echo -ne "\e[0m" }
来源 1
我找到了一种用 Bash 尝试这个的 hack-ish 方法:
不是原生的,但可以使用 DEBUG 陷阱破解它。此代码设置 preexec 和precmd类似于 zsh 的功能。命令行作为单个参数传递给 preexec。
这是一个简化版本的代码,用于设置在运行每个命令之前执行的 precmd 函数。
preexec () { :; }
preexec_invoke_exec () {
[ -n "$COMP_LINE" ] && return # do nothing if completing
local this_command=$(history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g");
preexec "$this_command"
}
陷阱 'preexec_invoke_exec' 调试
这个技巧是由于Glyph Lefkowitz ; 感谢 [bcat] 找到原作者。
http://www.macosxhints.com/dlfiles/preexec.bash.txt
来源 2