Как работает функция успешного выполнения функций init.d в RHEL?

Вы можете попробовать enscript. У него много функций, многие из которых вас не интересуют, но вы можете установить размер шрифта и размер носителя. Он не центрирует и не выравнивает, но вы можете визуализировать результат с помощью ghostview и внести поправки в свои данные. Попробуйте это сделать:

cat <<\! >>~/.enscriptrc
# Media: name width height llx lly urx ury   bounding box lowleft upright
# 57mm x 32 mm converted to points:
Media: mylabel 161 90 0 0 161 90
!

echo 'hello and hello followed by bye bye' |
enscript -p - -h -B -M mylabel -f Helvetica-Bold@30 >out.ps
gv --media=mylabel out.ps

Вы можете увидеть, как текст разбивается на 2 страницы заданного размера.

Вывод предложенной команды:

страница 1: enter image description here страница 2: enter image description here

3
24.05.2017, 15:52
1 ответ

Вы правы, но я бы не стал утверждать, что функции используются неправильно.

Честно говоря, я не понимаю части "${LSB:-}", так как я нигде не могу найти эту переменную LSB

И я не могу найти где-либо установленную $LSB. Я могу только догадываться, почему эта переменная проверяется; полный тест:

[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_success

Результатом теста является запуск echo_success, если значение переменной BOOTUP равно не "подробным", а переменная LSB не набор. Определение синтаксиса ${varname:-text}:

${parameter:-word} Используйте значения по умолчанию.
Если параметр не установлен или равен нулю, подставляется расширение слова. В противном случае подставляется значение параметра.

Здесь после тире нет «слова», поэтому, если $LSB не установлен или равен нулю, то все расширение приводит к (ничего), что позволяет пройти тест -z.

Мое предположение заключается в том, что логика существует на тот случай, если вы захотите изменить поведение сценария инициализации, чтобы он не запускал эти функции success() или failure().

Во-вторых,

как сценарии используют функцию успеха, например, последняя строка функции демона:

[ "$?" -eq 0 ] && success $"$base startup" || failure $"$base startup"

Вы правы в том, что эти параметры передаются функциям, но не используются. Безвредно передавать параметры, которые не используются — это просто непоследовательно/запутанно! Мое предположение заключается в том, что предыдущие версии этих функций рассматривали (возможно, регистрировали?) переданные параметры.

Обратите внимание, что функция init_crypto() вызывает success() (или failure()) без параметров!

2
27.01.2020, 21:25

Теги

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