如何重置终端的颜色?


28

救命!我的终端以某种方式看起来像这样:

在此处输入图片说明

阅读文本几乎是不可能的。如何在不退出终端的情况下进行修复?


您做了什么才能做到这一点?xD
Lucio 2014年

4
有时您可以通过cat在二进制文件上使用来“偶然地”获得此文件。
内森·奥斯曼

2
我只是尝试生成cat一个二进制文件,这真是一种体验...
Aditya 2014年

Answers:


34

此问题的可能原因是ANSI转义码。这些允许脚本更改终端的前景色和背景色。您甚至可以通过运行以下命令来模拟上面的屏幕截图的颜色:

echo -e '\E[32;46m'

要重置终端颜色,请使用以下命令:

tput init

根据联机帮助页:

    init   如果存在terminfo数据库,则为用户的
          终端存在(请参阅上面的-Ttype),将发生以下情况:

          (1)如果存在,则终端的初始化字符串为
              选项卡上terminfo(5)部分中详细说明的输出
              初始化,

          (2)条目中指定的任何延迟(例如,换行符)将为
              在tty驱动程序中设置

          (3)标签扩展将根据
              条目中的规范,以及

          (4)如果不展开选项卡,则将设置标准选项卡
              (每8个空格)。

          如果条目不包含以下任何一项所需的信息
          以上四个活动,该活动将默默进行
          跳过了。

这样可以将终端恢复为原始颜色。


您能将其关闭然后再次打开吗?
Sparhawk

是的,但是我所有的环境变量都会丢失。
内森·奥斯曼

好点子。+1。
Sparhawk 2014年

2
reset也会起作用,但我认为它也会重置环境变量。

reset命令不会重置环境变量。
Score_Under


4

如果你发现你的终端的状态下,没有的resettput init也不tput sgr0可以修复,尝试tput setaf 7 && tput setab 0将文本强制黑底白字。


1
当其他方法不起作用时,这可以在我的vscode终端上工作
Vorsprung

谢谢!这也将其固定在我的终端中,仍然有用!
robbat2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.