在 Ubuntu 的远程 ssh 会话中(本地是 Mac OS 计算机),为什么在我键入 "bash" 时会出现颜色?

On a remote ssh session in Ubuntu (local is a Mac OS computer), why do colors come on when I type "bash"?

在我的 Mac 上,使用 iTerm 进入 ubuntu 18.04 计算机后,输入

bash

我看到 ls 颜色打开了。这是为什么?

因为 bash 在其输出中支持颜色。

bash 将您的终端从(我假设)sh 更改为 bash ?

它加载了一堆文件:

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       /etc/bash.bashrc
              The systemwide per-interactive-shell startup file
       /etc/bash.bash.logout
              The systemwide login shell cleanup file, executed when a login shell exits
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The individual login shell cleanup file, executed when a login shell exits
       ~/.inputrc
              Individual readline initialization file

如果您在终端中输入 man bash 并接近手册的末尾,您可以找到此信息。

其中一个文件支持颜色。 通常是文件 ~/.bashrc 有这个:

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
  test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
  alias ls='ls --color=auto'
  #alias dir='dir --color=auto'
  #alias vdir='vdir --color=auto'

  alias grep='grep --color=auto'
  alias fgrep='fgrep --color=auto'
  alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'