monit отображает ложное число из моего сценария времени работы

Я сделал бы RAID-массив сначала, потому что при изменении диска массива это будет прозрачно для LUKS и LVM.

Если бы нет никакой потребности сохранить некоторый раздел незашифрованным (за исключением / раздела начальной загрузки), я установил бы LUKS во втором, потому что я не хочу должным быть устанавливать LUKS каждый раз, когда я вношу изменение в своих разделах.

0
задан 2 August 2013 в 15:58
2 ответа

Выходным значением команды является 8-битное целое число без знака (также известное как 1 байт). Это означает, что значение выхода должно быть от 0 до 255. Кажется, ваш сценарий пытается установить значение выхода 412, которое просто недопустимо в качестве кода выхода. Дополнительные биты будут проигнорированы, поэтому фактическое возвращаемое значение - 156.

412 = (0001 1001 1100), 156 = (1001 1100)

Вот некоторые результаты с использованием $? bash для демонстрации. Значок `$? в переменной хранится значение выхода предыдущей команды.

root@:~# bash -c 'exit 5' ; echo $?
5
root@:~# bash -c 'exit 253'; echo $?
253
root@:~# bash -c 'exit 255'; echo $?
255
root@:~# bash -c 'exit 256'; echo $?
0
root@:~# bash -c 'exit 257'; echo $?
1
root@:~# bash -c 'exit 412' ; echo $?
156
1
ответ дан 4 December 2019 в 18:06

Почему выходит из $ uptime ? Разве это не должно быть просто exit 0 , что означает, что ваш сценарий оболочки завершил работу нормально?

0
ответ дан 4 December 2019 в 18:06

Теги

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