检查文件是否损坏并在必要时回退到黄金映像

时间:2017-01-09 15:39:41

标签: grub2

如何在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.

知道错误在哪里或我如何处理文件检查? 感谢

1 个答案:

答案 0 :(得分:0)

如果将它移到linux / unix论坛,因为它的BASH脚本和GRUB可能会更好。

您的问题似乎主要是BASH语法脚本。

它似乎从您的"$(sha1sum ${myLinuxBin})"开始,您希望执行的程序将返回您告诉它的SHA1哈希值。我相信你的语法错了。

将结果哈希值转储到变量中可能更容易,然后执行简单的BASH if语句,例如if [ $hash_value -e $myLinuxBinSha1Sum ]

您需要正确的BASH语法来执行sha1sum可执行文件并将输出字符串转储到名为hash_value

的bash变量中