perl可以打印转义码而不留下echo -n""

时间:2016-03-31 22:04:10

标签: perl

对于许多xterm,我很高兴在窗口边框上有一个独特的名称,我可以随时更改。所以我在文件header.pl中写了这个perl代码:

#!/usr/bin/perl
my $saywhat = $ARGV[0];

my  $mycmnd = <<"EOLzippo";
echo -n "\033]0;XROSS\007"

EOLzippo

$mycmnd =~ s!XROSS!$saywhat!g;

print $mycmnd;

然后使用别名:

alias header 'perl ~/perl/header.pl \!* '

我可以更改xterms顶部的文字。

当调用别名时,代码会在命令行中留下一个echo-n:

163 perl> header test

echo -n ""

有没有办法执行打印而不离开echo -n&#34;&#34;?

2 个答案:

答案 0 :(得分:3)

没有必要打印回声(你是否试图炮轰和回声?)。 print已打印。

#!/usr/bin/perl
use warnings;
use strict;

my $saywhat = shift;
my $string  = "\033]0;$saywhat\007";
print $string;

答案 1 :(得分:1)

在perl中执行 all

#!/usr/bin/perl
my $saywhat = $ARGV[0];

my $mycmnd = "\033]0;${saywhat}\007"

print $mycmnd;

附注:虽然有时使用.pl后缀是惯例,但它绝不是强制性的。如果您将header.pl重命名为header并将其放入~/bin [或将~/perl添加到$PATH],则可以删除alias。只需确保对文件设置执行权限(例如755