更改终端名称的 ANSI 序列

ANSI sequence to change terminal name

我使用 bash 脚本 (konsole-name.sh) 来更改终端名称,如下所示:

#!/usr/bin/bash
echo -en "\e]30;\a"

我想使用我用来检查 GPU 温度的 perl 脚本中的相同方法,以便它定期更新 window 标题。

但是我没有找到方法。 这两个我都试过了:

$comm='echo -en "\e]30;T=$t\a"';
`$comm`;

还有这个,使用我的 bash 脚本:

$comm="konsole-name.sh T=$t";
`$comm`;

有办法吗?

控制台转义序列通过将文本打印到终端来工作。在您的情况下,反引号吞噬了脚本的输出。

很可能你只想打印 "\e]30;$1\a";来自 Perl:

my $title = "Fancy terminal title";
print "\e]30;${title}\a";