Perl 更改终端名称的ANSI序列

Perl 更改终端名称的ANSI序列,perl,terminal,ansi,Perl,Terminal,Ansi,我使用bash脚本(konsole name.sh)更改终端名称,如下所示: #!/usr/bin/bash echo -en "\e]30;$1\a" 我想使用perl脚本中用于检查GPU温度的相同方法,以便它定期更新窗口标题 但我没有找到办法。 我尝试了这两种方法: $comm='echo -en "\e]30;T=$t\a"'; `$comm`; 使用我的bash脚本: $comm="konsole-name.sh T=$t"; `$comm`; 有办法吗?控制台转义序列通过向终端打

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

#!/usr/bin/bash
echo -en "\e]30;$1\a"
我想使用perl脚本中用于检查GPU温度的相同方法,以便它定期更新窗口标题

但我没有找到办法。 我尝试了这两种方法:

$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";

控制台转义序列通过向终端打印文本来工作。反勾号会吞噬脚本的输出。很可能您只想打印“\e]30;$1\a”来自Perl。不看到它是多么愚蠢!非常感谢,这可能会引起兴趣。