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"
Jak některé aplikace přijímají kliknutí myší v Bash přes Ssh?
Instalace Grub 2 na Mdadm, jaké zařízení?