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

Can't use clear command on terminal (Mac OS X)

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

'dtterm': unknown terminal type.

'xterm': unknown terminal type.

'ansi': unknown terminal type.

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

定义 TERM 环境变量:

# export TERM=xterm

此更改仅对当前终端会话有效。如果你想让它永久化,你必须将该导出添加到你的 ~/.bashrc 文件中。如果你想对所有用户进行永久更改,你可以编辑 /etc/profile 文件或在 /etc/profile.d/

中添加一个新文件

Terminal.app 正在对 Terminal.app 的行为设置 TERM environment variable according to the menu entry, so exporting it does not address the problem. (Setting TERM has no effect,但那是另一回事)。

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

您的 shell 可能设置了 TERMINFO 变量(例如,通过从另一台机器复制设置)。将其从 shell 初始化(例如 ~/.profile~/.bashrc)中删除是解决该问题的一种方法。

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

export TERMINFO=/usr/share/terminfo

将是第一步。