无法在Perl脚本中执行命令

时间:2017-05-16 12:26:03

标签: perl

首先,我对Perl完全不熟悉,我需要从文件中删除一个字符串。

我的代码:

#!/usr/bin/perl -w

use warnings;
use strict;

my $server_a = 'xxx.test.ch';

print "$server_a\n";
perl -pli -e "s/$server_a//" '/Users/user/Downloads/exports';

当我执行此脚本时,我收到此错误:

syntax error at nfs_test.sh line 9, near "pli -e "
Execution of nfs_test.sh aborted due to compilation errors.

我发现什么不对,我希望你能帮助我。

1 个答案:

答案 0 :(得分:3)

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

@ARGV = '/Users/user/Downloads/exports';
$^I = '~';

my $server_a = quotemeta 'xxx.test.ch';
s/$server_a//, print while <>;

@ARGV数组包含参数,它由菱形运算符迭代。

$^I相当于-i选项。

你可能需要quotemeta,因为你不是指&#34;除了换行符之外的任何东西&#34;通过服务器名称中的点。