Звук не слышен на Ubuntu 14.04.4

Позвольте мне объяснить, что здесь происходит:

notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"

1 --urgency=low

-u, --urgency = LEVEL Определяет уровень срочности (низкий, нормальный , критический).

1 -i "$([ $? = 0 ] && echo terminal || echo error)".

  -i, --icon=ICON[,ICON...]
         Specifies an icon filename or stock icon to display.

Эта часть "$([ $? = 0 ] && echo terminal || echo error)". $? - последняя ошибка (или успех). Таким образом, он возвращает текст «терминал», если последний код выхода команды равен 0, без ошибок. Или возвращает «error», если код выхода не был 0.

И, наконец, мы получаем значок «terminal» или «error».

3 $(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')

history|tail -n1 возвращает последнюю команду из истории.

sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'') это можно разделить на 2 блока sed.

3 sed 's/^\s*[0-9]\+\s*//' удалить все предшествующие пробелы и вкладки, все численные после этого, а также удалить пробелы и вкладки в конце.

3.2. s/[;&|]\s*alert$// удаляет предыдущие символы ; & |, любые вкладки и пробелы и слово [alert].

Это просто чистая последняя выполненная команда из символов и слово «alert» в конце.

Итак, если вы используете что-то вроде этого: 19]

echo "Hello alert" | alert

Он покажет предупреждение с предыдущей командой.

1
задан 3 August 2016 в 11:14

0 ответов

Другие вопросы по тегам:

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