find
выйдет успешно, если не было никаких ошибок, таким образом, Вы не можете рассчитывать на его статус выхода, чтобы знать, нашел ли он какой-либо файл. Но, поскольку Вы сказали, можно рассчитать, сколько файлов это нашло, и протестируйте то число.
Это было бы что-то вроде этого:
if [ $(find /var/log/crashes -name 'app-*.log' -mmin -5 | wc -l) -gt 0 ]; then
...
fi
test
(иначе [
) не проверяет коды ошибок команд, это имеет специальный синтаксис, чтобы сделать тесты и затем выходит с кодом ошибки 0, если тест был успешен, или 1 иначе. Это if
тот, который проверяет код ошибки команды, которую Вы передаете ему, и выполняет ее тело на основе его.
Посмотрите man test
(или help test
, если Вы используете bash
), и help if
(так же).
В этом случае, wc -l
произведет число. Мы используем test
опция -gt
протестировать, если то число больше, чем 0
. Если это, test
(или [
) возвратится с кодом выхода 0
. if
интерпретирует тот код выхода как успех, и он выполнит код в своем теле.
Хорошо, я разрешил его. К счастью, все прекрасно, который был only
проблема с загрузочным сектором. Отказ даже перед загрузкой ядра указал на меня к MBR, таким образом, я запустил систему со своего pendrive, сохраненного для таких случаев с портативной победой, Linux и несколькими инструментами, смонтировали мои диски (первое облегчение - файловая система была прекрасна), просто chroot
редактор (посмотрите редактирование ниже) к моему регулярному корню и названный
lilo -v
и моя система жива снова. Мне очень любопытно, что могло, совершил такую странную ошибку, я уже изменил файл, упомянутый в моем вопросе, и конечно это ничего не изменяет, система запускается с моих изменений и без них. Я не коснулся ничего соединенного с загрузочным сектором или даже чем-либо во внутренностях системы, таким образом, это является очень тревожащим, я действительно предпочел бы, если бы это был мой отказ.
Была та некоторая ошибка на моем SSD? Или некоторые космические лучи? Или возможно вирус? Я не знаю, если у кого-либо есть какая-либо идея, как воспроизвести ту ошибку, я счастливо попробую ее.
Править: Как @peterph записал, "это - Good Idea (TM) для привязки - монтируются /dev
и /proc
в соответствующие места в Вашем корневом разделе прежде chrooting в него" - благодарит заметить это.
/dev
и/proc
в соответствующие места в Вашем корневом разделе прежде chrooting в него. – peterph 05.09.2013, 01:15