При необходимости проверьте файл на наличие повреждений и возврат к золотому изображению
Как я могу проверить в файле 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