如何在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.
知道错误在哪里或我如何处理文件检查? 感谢
答案 0 :(得分:0)
如果将它移到linux / unix论坛,因为它的BASH脚本和GRUB可能会更好。
您的问题似乎主要是BASH语法脚本。
它似乎从您的"$(sha1sum ${myLinuxBin})"
开始,您希望执行的程序将返回您告诉它的SHA1哈希值。我相信你的语法错了。
将结果哈希值转储到变量中可能更容易,然后执行简单的BASH if语句,例如if [ $hash_value -e $myLinuxBinSha1Sum ]
您需要正确的BASH语法来执行sha1sum可执行文件并将输出字符串转储到名为hash_value