在for循环中使用echo命令时出现不可预测的结果

时间:2013-04-15 09:49:46

标签: buffer stdin code-signing

我正在尝试编写一个小的shell脚本来查找特定目录中的已签名和未签名的jar。虽然脚本工作正常,直到4-5罐,如果我的目录有更多的罐子(大约25个罐子),它会开始显示不可预测的结果。我不确定,但可能的原因可能与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

完成

对于某些jar,它表示jar是无符号的,当使用以下命令单独检查它们时实际签名:

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

上述脚本可能出现什么问题?

提前致谢, Pabi

0 个答案:

没有答案