Функция завершается, но оболочка устанавливает канал
от функции к коду, который считывается из stdout
] функции, а затем помещает результат в переменную pid, которая была возвращена
.
Этот файловый дескриптор stdout
, однако, остается открытым командой sleep
в течение 60 секунд.
Ваша функция перенаправляет вывод для команды echo, но не для команды sleep
, и по этой причине присвоение переменной ожидает, пока stdout
из sleep
закрыто.
Если вы замените &
и > / dev / null
, он будет работать в Bourne Shell
и должен работать в bash
как хорошо, если нет ошибки в bash
.
Есть несколько вариантов ответа на исходный вопрос:
Если вам нужны варианты 3 или 4, вам нужно записать программу установки на USB. Как только это будет сделано, измените порядок загрузки в BIOS/UEFI и загрузитесь с USB. Вариант 4 — самый простой -, за которым вы можете следовать программе установки. Вариант 3 или какая-либо настройка сложнее -вам нужно подготовить разделы диска (и изменить размер файловых систем, затем разделы, если необходимо ), и вручную сделать метки разделов, куда вы хотите установить, убедитесь, что GRUB2 находит Загрузчик Windows и т. д.
Из того, что вы описываете, пропал загрузчик Windows. Что именно вы видите? Вы видите синий загрузчик GRUB с вариантами загрузки разных систем? Вы можете повредить файловую систему, поэтому данные могут быть потеряны.
Чтобы увидеть повреждение, можно загрузить систему с Live USB (, если вы не можете загрузить систему Debian на своем ноутбуке ), и проверить, не повреждены ли файловые системы на диске. В частности, Kali Linux создает образы USB высокого -качества, которыми легко пользоваться:https://www.kali.org/downloads/.