我的 perl 脚本有一个非常奇怪的问题。我真的不知道那里发生了什么,也许你会看到它......
我的脚本用于Net::SSH::Perl
通过 SSH 连接到主机。之后,我head -20
在 config.ini 上搜索一些模式(版本号)。
在我打印出版本号后,我得到cat
了其他大约 700 行长的文件。
现在发生的事情是,该脚本不是打印版本号,而是打印整个 700 行文件。除非我print "\n"x10;
直接在 version-print 后面添加。
这种行为对我来说没有任何意义,但我相信你们中的一个人会比我聪明并且知道答案:)
脚本下方:
1 #!/usr/local/bin/perl -w
2 use lib './';
3 use strict;
4
5 use GetVersions;
6 use Net::SSH::Perl;
7
8
9 my $ssh = Net::SSH::Perl->new(
10 'host',
11 identity_files => ['~/.ssh/id_rsa']
12 );
13
14 $ssh->login('user');
15
16 my $ver_regex = '^psadm\.version\s*=\s*rel_(.+)$';
17
18 my ($file, $err, $exit) = $ssh->cmd('head -20 /config.ini');
19 my $version = $file =~ /$ver_regex/m;
20 print "version: $version\n",
21 #print "\n"x10;
22 ($file, $err, $exit) = $ssh->cmd('cat /application.ini');