KDE с плазмой 5 больше не монтирует разделы в Ubuntu

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

Честно говоря, я не понимаю части "${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()) без параметров!

1
09.11.2015, 14:53
0 ответов

Теги

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