ssh 连接中的颜色

ssh 连接中的颜色

我有一个彩色的 bash 终端(例如,ls 和 vim 在配置为这样做时会显示颜色)。

通过 ssh 连接到远程服务器时如何才能获得这些颜色?

答案1

阅读目录颜色.sh《超越 Linux 从头开始​​》一书中的子部分:

此脚本使用~/.dircolors/etc/dircolors文件来控制目录列表中文件名的颜色。它们控制以下内容的彩色输出:ls --color如何初始化这些文件的解释在本节的末尾。

cat > /etc/profile.d/dircolors.sh << "EOF"
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
        eval $(dircolors -b /etc/dircolors)

        if [ -f "$HOME/.dircolors" ] ; then
                eval $(dircolors -b $HOME/.dircolors)
        fi
fi
alias ls='ls --color=auto'
alias grep='grep --color=auto'
EOF

答案2

使用https://unix.stackexchange.com/questions/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh和 nik 的回答你可以这样做:

ssh host.example.com -t '. /etc/profile; . ~/.profile; /bin/bash'

这将在登录时执行您的配置文件脚本,然后打开 bash shell。您的配置文件脚本是定义颜色的地方。

或者,为了最大程度方便,请将以下内容添加到您的~/.ssh/config文件中:

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash

答案3

我刚刚~/.bashrc在远程服务器中编辑了以下行:

alias ls='ls --color'

相关内容