Centos7 с проблемами двойной загрузки Windows 8

ssh -t -t username@hostname << ENDSSH
...
echo \$end_pos;

Если вам не нужно раскрывать какие-либо переменные из внешней оболочки в here-doc, который идет к SSH, вы можете использовать << "ENDSSH" с кавычками вокруг разделителя, чтобы иметь здесь-doc воспринимается как строка в одинарных кавычках. Тогда вам не нужно экранировать каждый знак $ внутри него.

if [ "$end_pos" == "*Stop*" ]; then

Если вы хотите сравнить значение с *Stop* как шаблон, а не как литеральную строку, вам нужно использовать [[ .. ]] или более стандартный case:

if [[ $end_pos = *Stop* ]] ; then
    ...

# or
case "$end_pos" in 
    *Stop*) echo "stop found" ;;
    *) echo "stop not found" ;;
esac

Кроме того, break выглядит неуместно, цикла нет. Bash будет жаловаться на это, но только если эта часть оператора if будет выполнена. Два exit подряд тоже кажутся немного избыточными.

1
24.04.2016, 20:08
1 ответ

Найдите правильный раздел, в котором находится bootmgfw.efi, и установите корневой раздел соответствующим образом. Чтобы найти раздел, в котором находится bootmgfw.efi, перейдите в режим спасения grub (нажмите 'e', затем F2), а затем введите ls. Это покажет вам разделы (как windows, так и centos). Методом проб и ошибок попробуйте найти bootmgfw.efi, введя ls (hd0,gpt1) и так далее. Как только вы нашли раздел с bootmgfw.efi, укажите этот раздел в строке set root=. Это должно найти менеджер загрузки windows efi и позволить вам загрузиться в Windows.

0
28.01.2020, 01:20

Теги

Похожие вопросы