下载最新内核的Bash脚本
所以我使用了一个bash脚本来下载和编译最新的内核。我的任务的一部分是检查GPG密钥,为了对照官方密钥检查密钥,我实现了下面的代码片段。然而,我仍然从检查中得到一个坏消息来源,逻辑是否错误 我检查我从源代码构建的下载最新内核的Bash脚本,bash,linux-kernel,Bash,Linux Kernel,所以我使用了一个bash脚本来下载和编译最新的内核。我的任务的一部分是检查GPG密钥,为了对照官方密钥检查密钥,我实现了下面的代码片段。然而,我仍然从检查中得到一个坏消息来源,逻辑是否错误 我检查我从源代码构建的ccache的GPG键 # check for ccache ############################################################ wget "https://github.com/ccache/ccache/releas
ccache
的GPG键
# check for ccache ############################################################
wget "https://github.com/ccache/ccache/releases/download/v3.7.11/ccache-3.7.11.tar.xz"
wget "https://github.com/ccache/ccache/releases/download/v3.7.11/ccache-3.7.11.tar.xz.asc"
if [[ $(gpg --verify ccache-3.7.11.tar.xz.asc ccache-3.7.11.tar.xz 2>&1 \
| grep -c "Good signature .* \[ultimate\]") -lt 1 ]]; then
echo "Error: invalid source"
exit 1
else
echo "Good Source"
fi
还有我的Git内核检查。首先,我添加以下键:
if [ ! -d "$GPGKEYS" ]; then
gpg2 --locate-keys "torvalds@kernel.org" "gregkh@kernel.org"
for trusted in "torvalds@kernel.org" "gregkh@kernel.org"; do
echo -e "5\ny\n" | gpg --command-fd 0 --expert --edit-key $trusted trust
done
fi
然后我使用这个循环来检查密钥,但仍然会得到无效的密钥或错误的源代码。我做错了什么
git clone --branch v$V \
'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git'
cd linux-stable
if [[ $(git tag -v v$V 2>&1 \
| grep -c "Good signature .* \[ultimate\]") -lt 1 ]]; then
echo "Bad Source"
exit 1
else
echo "Good Source"
fi
我建议您首先在shellcheck.net上运行所有脚本。据我所见,除了在“添加键”的代码部分中缺少
fi
之外,语法没有问题。这一定是一个逻辑错误,那么,$(git tag-v$v2>&1\| grep-c“Good signature.*\[ultimate\]”
究竟返回了什么
另外,我的回答是因为我没有足够的代表发表评论。它的回答是坏消息来源,而它应该回答好消息来源