Sto cercando di creare uno script da eseguire con crontab in cui se sono disponibili aggiornamenti, lo script invierà una notifica. Lo script stesso non mi dà errori, tuttavia nell'istruzione if funziona solo la parte "else". Qualche idea?
#!/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
Risposta accettata:
Stai confrontando la stringa var1
alla stringa update1
. Quelli non saranno mai più gli stessi. Vuoi invece confrontare le variabili:
if [ "$var1" = "$update1" ]
Naturalmente, l'intera cosa potrebbe essere semplificata in:
sudo apt update | grep -q "package can be upgraded" && notify-send "Updates are available"