Как получить оскорбления sudo только через фестиваль?

Разберем на отдельные компоненты

  1. Синтаксис "${count// /}"представляет собой синтаксис расширения параметра для замены всех пробелов в содержимом переменной пустой строкой. например. 2 1становится просто21
  2. Часть =~ ^[0-9]+$выполняет операцию регулярного выражения bashсопоставления строки в левой части с набором цифр только .
  3. Часть ! [[..]]отменяет всю операцию, что означает, что условие становится истинным, только если содержимое countявляется , а не строкой цифр.
  4. При положительном условии ifвы echoвыводите числовое значение 1, а при ошибке ifвозвращает фактическое значение countбез удаления пробелов, выполненного в 1 ).
0
29.06.2020, 02:55
1 ответ

Оскорбления — это просто сообщения, которые sudoвыводятся точно так же, как и все остальные сообщения.

Вы можете изменить эту часть исходного кода:

#ifdef INSULT
    if (def_insults)
    warning = INSULT;
#endif

на что-то вроде:

#ifdef INSULT
    if (def_insults)
       say(INSULT);
#endif

Конечно, вы должны определить say()и решить, как взаимодействовать с выбранной вами системой преобразования текста в речь (некоторые из них перечислены здесь).

Есть и другие решения, связанные со вспомогательными технологиями. Например, запустив sudoнаyasrи заставив его читать только оскорбления и игнорировать все остальное (, вам придется сделать их узнаваемыми, хотя ).

0
18.03.2021, 23:24

Теги

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