GNU/Linux >> Znalost Linux >  >> Linux

Vytvoření skriptu pro zobrazení upozornění, když jsou dostupné aktualizace?

Snažím se vytvořit skript pro spuštění pomocí crontab, kde pokud jsou k dispozici nějaké aktualizace, skript odešle upozornění. Samotný skript mi ​​nedává žádné chyby, ale v příkazu if funguje pouze část „jinak“. Nějaké nápady?

#!/bin/bash
sudo apt update > ~/Desktop/UpdateInfo

update1=$(grep "package can be upgraded" ~/Desktop/UpdateInfo | cut -d' ' -f2,3,4,5)

var1="package can be upgraded."

if [ var1 = update1 ]
    then
        notify-send "Updates are available"
    else
        notify-send "test"
fi

Přijatá odpověď:

Porovnáváte řetězec var1 do řetězce update1 . Ty už nikdy nebudou stejné. Místo toho chcete porovnat proměnné:

if [ "$var1" = "$update1" ]

Celá věc by se samozřejmě dala zjednodušit na:

sudo apt update | grep -q "package can be upgraded" && notify-send "Updates are available"

Linux
  1. V Bash, kdy alias, kdy skript a kdy napsat funkci?

  2. Existuje způsob, jak synchronizovat strukturu adresářů, když jsou soubory již na obou stranách?

  3. Existují nějaké vedlejší účinky, když dvě distribuce sdílejí swapovací oddíl?

  1. Vyvarovat se při vytváření Tar.gz souboru navíc?

  2. Jak nastavit parametry, když Pipe Bash Script to Bash?

  3. Jsou za aktualizace aplikací účtovány poplatky?

  1. Skript pro zjištění, zda jsou soubory obrázky?

  2. Nerozpoznaný štítek disku při vytváření oddílu

  3. Vyloučení adresáře při vytváření souboru .tar.gz