GNU/Linux >> Tutoriales Linux >  >> Linux

¿Está creando una secuencia de comandos para mostrar una notificación cuando haya actualizaciones disponibles?

Estoy tratando de crear una secuencia de comandos para ejecutar con crontab donde, si hay actualizaciones disponibles, la secuencia de comandos enviará una notificación. El script en sí no me da ningún error, sin embargo, en la declaración if solo funciona la parte "else". ¿Alguna 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

Respuesta aceptada:

Estás comparando la cadena var1 a la cadena update1 . Esos nunca serán los mismos. En su lugar, desea comparar las variables:

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

Por supuesto, todo podría simplificarse a:

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

Linux
  1. ¿Alguna forma de sincronizar la estructura del directorio cuando los archivos ya están en ambos lados?

  2. ¿Existen efectos secundarios cuando dos distribuciones comparten una partición de intercambio?

  3. ¿Evitar archivos adicionales al crear Tar.gz?

  4. ¿Script para determinar si los archivos son imágenes?

  5. Etiqueta de disco no reconocida al crear una partición

Use este útil script de Bash cuando observe las estrellas

Recibir notificación cuando se realiza una tarea de terminal

Rsync Mostrar barra de progreso al copiar archivos en Linux

¿Cómo mostrar una notificación cuando se inserta un dispositivo USB?

¿Hay alguna forma de mostrar la notificación del script bash en Ubuntu?

¿Qué aplicaciones de edición de video están disponibles en Linux?