Perl – 系统命令打印到终端?
发布时间:2020-12-16 06:06:42 所属栏目:大数据 来源:网络整理
导读:我正在编写一个Perl脚本,允许我更改终端选项卡的磁贴,但是,每次运行它时,都会在我的终端线上打
我正在编写一个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 " 33]0;"; 9 $textline = $textline . "@ARGV" . ' 07"''; 10 11 system "'$textline'"; 12 谢谢 解决方法
我想-n和-e会得到回应,因为你的echo版本不能识别这些选项并将它们视为文字文本来回显.
但是你知道吗,Perl有自己的用于回显文本的工具:print. print(" 33]0;$title 07"); 您可能需要在之后刷新缓冲区: use IO::Handle qw( ); STDOUT->flush(); 如果你不介意关闭缓冲,或者只是以下内容: $| = 1; PS – 你的引语(”echo …”)毫无意义,但它们会陷入虚无,所以它们不会引起问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |