1

grub.cfg ファイルでファイルの sha1sum をチェックインし、保存されている数値と比較するにはどうすればよいですか?
等しい場合はイメージをロードできます。そうでない場合は、ゴールデン イメージに切り替える必要があります。

フォローしてみた

myLinuxBin='(hd0,msdos2)/bzImage.bin'
myLinuxBinSha1Sum='d15e1a64c0f5dd24052f0cb38b88c9f5d4c30a6c'
if [ "$(sha1sum ${myLinuxBin})" -eq "${myLinuxBinSha1Sum}  ${myLinuxBin}" ]; then
    set default="myRunImage"
else
    set default="myGoldenImage"
fi

しかし、エラーメッセージが表示されます

error: syntax error.
error: Incorrect command.
error: syntax error.

エラーがどこにあるのか、またはファイルチェックを処理する方法はありますか?
ありがとう

4

1 に答える 1

0

これは BASH スクリプトと GRUB であるため、linux/unix フォーラムに移動した方がよいかもしれません。

あなたの問題は主にBASH構文スクリプトのようです。

"$(sha1sum ${myLinuxBin})"あなたの SHA1 ハッシュを返すプログラムを実行したいところから始めているようです。ここでの構文は間違っていると思います。

結果のハッシュ値を変数にダンプしてから、次のような単純な BASH if ステートメントを実行する方が簡単な場合があります。 if [ $hash_value -e $myLinuxBinSha1Sum ]

sha1sum 実行可能ファイルを実行し、出力文字列を bash 変数にダンプするには、正しい BASH 構文が必要です。hash_value

于 2017-01-09T16:11:17.177 に答える