bash - 确定终端类型(经典 Unix 终端与图形终端)

标签 bash

我正在通过 .bashrc 配置我的提示符 (PS1),发现我当前的配置有一个问题:我使用的是 256 配色方案。这与经典终端不兼容(可通过例如 Ctrl+Alt+F2 访问)但在 gnome-terminal 等图形终端中看起来很漂亮、终止符等

所以我必须根据终端类型更改提示。为此,我需要 if 子句的条件来测试终端类型。你知道怎么做吗?

最佳答案

TERM 变量表示终端类型。 在 x 终端中运行时,它通常是 xterm(但也可以是 xterm-color-256,正如 Dmitry 在他的回答中暗示的那样)。 以下代码检查 $TERM 的值是否以 xterm 开头(因此捕获了几种情况):

case "$TERM" in
   xterm*)
      echo "running as an x-terminal"
      ;;
   *)
      echo "not running as an x-terminal"
      ;;
esac

关于bash - 确定终端类型(经典 Unix 终端与图形终端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814123/

相关文章:

linux - bash脚本参数所有以指定字符串开头的文件

linux - 使用命名管道创建 'loop'

linux - BASH - 比较两个文件并将输出重定向到可读的内容

json - 将 "="分隔值文件转换为 ":"json 文件

git - 有效地将项目添加到 git 索引

linux - 如何 SSH,验证更新是否可用。如果是,请下载更新

linux - 创建等于文件中行的变量,并按顺序为变量分配文件中的值

bash - 刷新 sed 中的命令

linux - 带有参数和自动完成的 bash 别名

linux - 在notepad++中连续搜索两行