Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下载最新内核的Bash脚本_Bash_Linux Kernel - Fatal编程技术网

下载最新内核的Bash脚本

下载最新内核的Bash脚本,bash,linux-kernel,Bash,Linux Kernel,所以我使用了一个bash脚本来下载和编译最新的内核。我的任务的一部分是检查GPG密钥,为了对照官方密钥检查密钥,我实现了下面的代码片段。然而,我仍然从检查中得到一个坏消息来源,逻辑是否错误 我检查我从源代码构建的ccache的GPG键 # check for ccache ############################################################ wget "https://github.com/ccache/ccache/releas

所以我使用了一个bash脚本来下载和编译最新的内核。我的任务的一部分是检查GPG密钥,为了对照官方密钥检查密钥,我实现了下面的代码片段。然而,我仍然从检查中得到一个坏消息来源,逻辑是否错误

我检查我从源代码构建的
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\]”
究竟返回了什么


另外,我的回答是因为我没有足够的代表发表评论。

它的回答是坏消息来源,而它应该回答好消息来源