J'essaie de créer un script à exécuter avec crontab où si des mises à jour sont disponibles, le script enverra une notification. Le script lui-même ne me donne aucune erreur, mais dans l'instruction if, seule la partie "else" fonctionne. Des idées ?
#!/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
Réponse acceptée :
Vous comparez la chaîne var1
à la chaîne update1
. Ceux-ci ne seront plus jamais les mêmes. Vous souhaitez plutôt comparer les variables :
if [ "$var1" = "$update1" ]
Bien sûr, tout pourrait être simplifié en :
sudo apt update | grep -q "package can be upgraded" && notify-send "Updates are available"