1

我正在尝试编写一个小的 shell 脚本来找出特定目录中已签名和未签名的 jar。虽然脚本在 4-5 个 jar 之前工作正常,但如果我的目录有更多 jar(目前大约 25 个 jar),它会开始显示不可预测的结果。我不确定,但可能的原因可能与 STDIN/STDOUT 的缓冲有关。我试图在相关帖子中找到解决方案,但无法得到明确的答案。

这是我的脚本:(它以 JAVA_HOME 作为参数):

#! /bin/bash
JV_HOME=$1

for i in `ls *.jar`
do
echo "scanning $i ..."
FILE=$i
$JV_HOME/bin/jarsigner -verify -verbose -certs $FILE | grep "jar verified" ;
if [ $? -eq 0 ]; then
    echo "\n$FILE is code-signed\n"
else
    echo "\n$FILE is unsigned/unverified..\n"
fi

完毕

对于某些罐子,它说罐子是未签名的,当它们在使用以下命令单独检查时实际签名时:

$JAVA_HOME/bin/jarsigner -verify -verbose -certs

上面的脚本可能有什么问题?

在此先感谢,帕比

4

0 回答 0