我发现这个答案多年来,我一直以一种天真的方式在提示中设置终端颜色。
我现在已经修改了 .bashrc,使用“tput”命令来为提示符的各个元素着色。我剩下的一个转义代码是:
TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"
是否有人知道是否有一个 tput/terminfo 属性可以用来设置我的终端窗口的标题栏,以便我可以消除这种转义?
答案1
实际功能是 tsl(至状态行)和 fsl(从状态行),但当然并非所有终端都具备这些功能。特别是在 Linux 中,您需要将终端设置为 xterm+sl 或类似功能。
你可以用以下方法测试
export TERM=xterm+sl
echo `tput tsl` Hello world `tput fsl`; sleep 10
我不会费心将这些转义符保留在 .bashrc 中
答案2
我无法发表评论,因此有一个额外的答案:
如果您使用 tsl/fsl,请务必先向终端询问 hs。如果支持 tsl/fsl(和其他 *sl),则 hs 应该为真。
tput hs && { echo ....; }
答案3
查看了 xterm terminfo 文件后,我找不到任何与该命令相同的代码,因此我怀疑没有。
如果您有兴趣,terminfo 手册页列出了 termcap 和 terminfo 理解的所有命令。我使用以下命令反编译了 terminfo 数据库文件:
# infocmp -L xterm
答案4
有关 xterm 的“vt100 模式”特殊功能的更多信息,请参阅Xterm 控制序列请参阅操作系统控制部分中的文档以了解所有详细信息。