Извините меня, Вы могли быть более конкретны относительно того, что Вы сделали?
У Вас есть MBR или установка GPT? Ваш раздел FAT32 предназначен для резервного копирования Windows, или это - Системный Раздел EFI EFI?
Вы использовали графический установщик Монетного двора для установки на жестком диске? Вы сделали разделы на жестком диске с GParted и сказали ему устанавливать GRUB? (GNU, Разделенный <1.7.1, как известно, удаляет загрузчик первой стадии из MBR в случае схемы EFI/GPT: http://www.rodsbooks.com/gdisk/booting.html)
Вы устанавливали наследие GRUB или GRUB2? Принятие, Вы используете схему MBR, Вы устанавливали ее 1,5-этапное в случае наследия GRUB, второго этапного в случае GRUB2 в совместимости DOS area/MBR-gap (31,5 Кбита между MBR и первым разделом) или прямо в файловой системе? Рассмотрите связанные проблемы здесь: http://www.gnu.org/software/grub/manual/grub.html#BIOS-installation.
Когда Вы устанавливали Windows на SSD? Перед Linux или после этого? Windows видел или использовал жесткий диск на установку? (Я спрашиваю, Windows причины, как известно, является резким к другим Ose, если установлено вторым).
Если Вы не Доктор медицины Дома и не одержимые обнаружением причины, но просто хотите решить проблему, в случае схемы MBR Вы могли загрузить от Монетного двора LiveCD/LiveUSB, смонтировал ext4 раздел Вашего жесткого диска к/mnt/sda1 (я предполагаю, это содержит корневую файловую систему), и установленная личинка снова с чем-то как sudo grub-install --root-directory=/mnt/sda1 /dev/sda
, где/dev/sda является Вашим файлом устройств жесткого диска.:)
Ваше подозрение правильно; Состояние выхода последней команды скрипта будет передано в вызывающую среду. Таким образом, ответ заключается в том, что этот скрипт вернет статус выхода 0, если GREP
GREP
соответствует данным, существует статус 1, если не было совпадения и выхода из состояния 2, если произошла некоторая ошибка.
Точка GREP
PING Выход, который выброшен, состоит в том, что писатель хочет только возвратный статус GREP
. Он / она только хочет знать, соответствует ли образец или нет. В вашем случае последнее GREP
проверяет, если выход предыдущей команды содержит любые строки, начнутся с 200
.
В современной системе POSIX вы можете сделать все это с grep -q без перенаправления на / dev / null
:
... | grep -q '^200'
Обратите внимание, что использование GREP -Q
имеет незначительный побочный эффект, спасибо Стефана Чазелас для указывания в его комментарии. GreeP -Q
выходит, как только он найдет первый матч, если IF
все еще пишет что-то после GREP
, он получит SIGPIPE.