如何从 SSH 命令获取彩色输出

如何从 SSH 命令获取彩色输出

我正在尝试远程运行一些命令并接收带有颜色的输出。我遗漏了什么?

以下是我目前得到的信息:

例子.sh

. /etc/profile
[[ -f ~/.profile ]] && . ~/.profile;
[[ -f ~/.bashrc ]] && . ~/.bashrc;
echo "hello remote"
cd /vagrant/repositories/repo
pwd
phpunit --color

我将脚本传输到 ssh 中,如下所示:

cat example.sh | ssh vagrant@localhost /bin/bash -s

答案1

是的,可以使用-tt开关,这将强制分配 TTY,并诱使远程程序也写入颜色。我可以在我的系统上运行的最小测试:

无颜色:

ssh localhost "cowsay hello | lolcat"

带有颜色:

ssh -tt localhost "cowsay hello | lolcat"

相关内容