【发布时间】:2017-09-08 12:39:18
【问题描述】:
我是 perl 的新手,
我正在尝试使用 keytool 从密钥库中获取有效日期。
示例代码:
my @test = `cd /usr/keystores; find . -name '\*\_old\_id\.jks'`;
print "@test";
my @fus_res=();
s/\.\///g for @test;
print "@test";
foreach $res(@test)
{
my $short =substr($res,0,-14);
push(@fus_res,$short);
}
foreach my $j(0 ..$#fus_res) {
foreach my $i(0 .. $#test) {
if ($i eq $j) {
my $finali="$test[$i]";
my $finalj="$fus_res[$j]";
my @test1=`cd /usr/keystores;keytool -list -v -storepass "2xxpw" -alias $finalj -keystore $finali | grep Valid `;
print "test_final=@test1";
}
}
}
但是 keystore 命令正在运行,对于 grep 部分出现错误:
sh: -c: line 1: syntax error near unexpected token `|'
sh: -c: line 1: ` |grep Valid '
请指出此示例代码中的错误
【问题讨论】:
-
错误不是来自 Perl,而是来自 shell(请参阅错误消息开头的
sh)。可能您的$finali变量未定义或者是空字符串。 -
是的,抱歉。已更正
标签: perl unix sh keystore keytool