Linux的TERM环境变量

程序或者脚本驱动登录到Linux系统之后。执行命令或者脚本,其返回值中往往出现格式异常。原因则在于虚拟终端类型的高级特性,例如:“颜色、高亮、移动光标”等。那么,是否禁掉这些高级特性呢?可以选择dumb类型,设置TERM=dumb。

注意:需要说明一点,dumb对于交互式访问不友好。终端不具备诸如清屏或移动光标等高级功能。TERM=dumb 是一个非常基础的终端类型,它仅支持最基本的文本输出,而不支持ANSI转义序列,这些序列通常用于控制终端的格式、颜色、光标位置等。

TERM 环境变量在Unix和类Unix系统中用于指定终端模拟器的类型。这个变量告诉运行的应用程序你的终端支持哪些特性,如颜色、光标移动、特殊键盘键等。不同的TERM值对应不同的终端类型,它们有不同的能力和兼容性。

以下是一些常见的TERM值及其含义:

  1. ansi

    • 最基础的ANSI兼容终端,支持基本的颜色和文本格式化。
  2. vt100

    • VT100是VT系列终端的一种,是早期的图形终端之一。它支持基本的ANSI转义序列,包括文本颜色和光标控制。
  3. xterm

    • Xterm是X Window System下的一个终端模拟器,比vt100更高级,支持更多特性,如鼠标事件、窗口标题更改等。
  4. xterm-color

    • xterm的一个变体,支持16色输出。
  5. xterm-256color

    • 支持256种颜色的xterm变体,常用于需要更丰富颜色的场景。
  6. screen

    • 用于screen会话的终端类型,screen是一个全屏窗口管理器,可以在单个终端会话中运行多个独立的shell会话。
  7. screen-bce

    • screen的一个变体,支持背景颜色擦除(Background Color Erase)。
  8. linux

    • 用于Linux控制台,通常支持基本的ANSI颜色和一些特殊功能,但可能不支持所有xterm特性。
  9. gnome-terminalkonsoleterminator 等:

    • 这些是特定于桌面环境的终端模拟器,如Gnome Terminal、Konsole和Terminator,它们通常支持广泛的ANSI特性和一些额外的扩展。
  10. dumb

    • 这个值告诉应用程序终端不支持任何花哨的功能,只支持最基本的文本输出。通常用于管道或脚本中,避免颜色代码或控制序列的干扰。

当一个程序读取TERM变量时,它会根据这个值来确定是否发送控制序列,以及发送哪些控制序列。例如,如果你的TERM设置为xterm-256color,那么支持ANSI颜色的应用程序将发送256色的控制序列;如果设置为dumb,则程序不会发送任何控制序列,只发送纯文本。

正确的TERM值对于确保应用程序正确显示至关重要,特别是在使用复杂的终端特性时。如果不确定应该使用哪个TERM值,通常可以将其设置为你的终端模拟器报告的值,这通常可以在终端的首选项或属性设置中找到。

上面列举的TERM类型也不全,可以去到如下链接了解:

https://invisible-island.net/ncurses/terminfo.src.html#tic-dumb

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值