无法在终端上使用clear命令(Mac OS X)

时间:2015-09-24 05:27:42

标签: macos terminal xterm

每当我尝试在终端窗口中使用命令clear时,我都不能,因为:

'dtterm': unknown terminal type.

'xterm': unknown terminal type.

'ansi': unknown terminal type.

我尝试更改首选项菜单上的终端类型,但没有成功。我该怎么办?

2 个答案:

答案 0 :(得分:1)

定义TERM环境变量:

# export TERM=xterm

此更改仅适用于当前的终端会话。如果要将其永久化,则必须将该导出添加到~/.bashrc文件中。如果您想让所有用户永久更改,您可以修改/etc/profile文件或在/etc/profile.d/

中添加新文件

答案 1 :(得分:1)

Terminal.app根据菜单项设置TERM环境变量,因此导出它不能解决问题。 (设置TERM有关于Terminal.app行为的no effect,但这是一个不同的事情。)

OSX(和大多数类似Unix的)系统使用 terminfo 来查找终端信息。如果设置了环境变量TERMINFO,则ncurses库使用路径优先于编译位置(应该与安装位置匹配)。

您的shell可能已设置TERMINFO变量(例如,通过从其他计算机复​​制设置)。从shell初始化中删除它(例如~/.profile~/.bashrc)是解决这个问题的一种方法。

或者,您可能(如 tput: unknown terminal “xterm-256color” )安装了一些与系统上的ncurses库冲突的未提及的包。在那个讨论中,似乎有人构建了ncurses库,这些库已经将TERMINFO的默认编译为一个不存在的位置。对于这种情况,我指出OP可以设置TERMINFO来告诉损坏的库在哪里找到终端数据库。也就是说,

export TERMINFO=/usr/share/terminfo

将是第一步。