GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen eines Skripts zum Anzeigen einer Benachrichtigung, wenn Updates verfügbar sind?

Ich versuche, ein Skript zu erstellen, das mit crontab ausgeführt werden soll, wobei das Skript eine Benachrichtigung sendet, wenn Updates verfügbar sind. Das Skript selbst gibt mir keine Fehler, aber in der if-Anweisung funktioniert nur der „else“-Teil. Irgendwelche Ideen?

#!/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

Akzeptierte Antwort:

Sie vergleichen die Zeichenfolge var1 in die Zeichenfolge update1 . Das wird nie mehr dasselbe sein. Sie möchten stattdessen die Variablen vergleichen:

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

Natürlich könnte das Ganze vereinfacht werden zu:

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

Linux
  1. Wann soll in Bash ein Alias, wann ein Skript und wann eine Funktion geschrieben werden?

  2. Zusätzliche Datei beim Erstellen von Tar.gz vermeiden?

  3. Wie werden Parameter eingestellt, wenn Bash-Skript an Bash übergeben wird?

  4. Skript, um festzustellen, ob Dateien Bilder sind?

  5. Was sind Shell-Skripte? Wie erstelle ich Shell-Skripte?

Verwenden Sie dieses hilfreiche Bash-Skript, wenn Sie Sterne beobachten

Erhalten Sie eine Benachrichtigung, wenn eine Terminalaufgabe erledigt ist

Rsync zeigt Fortschrittsbalken beim Kopieren von Dateien unter Linux an

Wie zeigt man eine Benachrichtigung an, wenn ein USB-Gerät eingesteckt wird?

Gibt es eine Möglichkeit, Benachrichtigungen vom Bash-Skript in Ubuntu anzuzeigen?

Welche Videobearbeitungsanwendungen sind unter Linux verfügbar?