gpt4 book ai didi

Perl - 系统命令打印到终端?

转载 作者:行者123 更新时间:2023-12-01 10:07:14 25 4
gpt4 key购买 nike

我正在编写一个 Perl 脚本,它允许我更改终端选项卡的磁贴,但是,每次我运行它时,“-n -e”都会打印到我的终端行。如果我将这些选项排除在外,只会打印一个空行。有什么方法可以在 perl 中执行系统命令,并且不会在我的终端上显示任何代码残留?

  1 #!/usr/bin/perl
2 #sets the title on terminal tabs (mac OSX)
3
4 #use strict;
5 use warnings;
6
7 #sets title of term window to input from user.
8 my $textline="\'echo -n -e \"\\033]0;";
9 $textline = $textline . "@ARGV" . '\007"\'';
10
11 system "\'$textline\'";
12

谢谢

最佳答案

我想 -n-e 得到回显是因为您的 echo 版本无法识别这些选项并将它们视为文字文本回声。

但是你知道吗,Perl 有它自己的回显文本的工具:print

print("\033]0;$title\007");

之后您可能需要刷新缓冲区:

use IO::Handle qw( );
STDOUT->flush();

如果您不介意关闭缓冲,则只需执行以下操作:

$| = 1;

PS - 你的引号 (''echo ...'') 没有任何意义,但它们会崩溃成虚无,所以它们不会造成问题。

关于Perl - 系统命令打印到终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com