При необходимости проверьте файл на наличие повреждений и возврат к золотому изображению

Как я могу проверить в файле 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 ответ

Это может быть лучше, если его перенести на форум linux/unix, так как это скрипты BASH и GRUB.

Ваша проблема кажется в первую очередь синтаксисом BASH.

похоже, что начать с вашего "$(sha1sum ${myLinuxBin})" где вы хотите выполнить программу, которая будет возвращать хэш SHA1, что бы вы ни говорили. Я считаю, что ваш синтаксис здесь неправильный.

И может быть проще сбросить результирующее значение хеша в переменную, а затем выполнить простую команду BASH if, такую ​​как if [ $hash_value -e $myLinuxBinSha1Sum ]

Вам понадобится правильный синтаксис BASH для выполнения исполняемого файла sha1sum и вывода выходной строки в переменную bash с именем hash_value

Другие вопросы по тегам