Когда я вхожу в систему терминального/через SSH, я вижу это сообщение, где x
много обновлений:
x packages can be updated.
x updates are security updates.
Однако, если бы число обоим 0, я предпочел бы не видеть сообщение.
Я попытался изменить файлы MOTD, но от того, что я вижу, что могу или позволить им показывать, или скрывать их, но ничто условное выражение. Содержание 90-updates-available
файл:
#!/bin/sh
stamp="/var/lib/update-notifier/updates-available"
[ ! -r "$stamp" ] || cat "$stamp"
... и содержание /var/lib/update-notifier/updates-available
:
0 packages can be updated.
0 updates are security updates.
Как я могу изменить 90-updates-available
регистрируют для предотвращения показа сообщение, если оба сообщения запускают с 0
?
Можно, вероятно, сделать что-то как:
if [ -r "$stamp" ]
then
awk '{c += $1; out = out "\n" $0} END {if (c != 0) print out}' /var/lib/update-notifier/updates-available
fi
Это просто берет сумму первого поля и печатает файл, если сумма является ненулевой.
Можно изменить строку:
[ ! -r "$stamp" ] || cat "$stamp"
кому:
([ ! -r "$stamp" ] || [ -n "$(awk '/^0/{print $1;}' "$stamp")" ]) || cat "$stamp"
Это сделает это.
Вот вариант использования sed
вместо awk
, который подавляет любую строку, начинающуюся со счетчика 0
, и объединяет как регулярные обновления, так и строки обновлений безопасности, если у обоих есть счетчики:
[ ! -r "$stamp" ] || sed -e '/^0 /d' -e 'N; s/\n0 .*//; s/\n/ /' -- "$stamp"