更新が可能なときに通知を表示するスクリプトの作成

更新が可能なときに通知を表示するスクリプトの作成

crontabで実行され、アップデートがある場合は、通知を送信するスクリプトを作成しようとしています。スクリプト自体ではエラーは発生しませんが、ifステートメントでは "else"部分のみが機能します。どんなアイデアがありますか?

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

ベストアンサー1

var1文字列を文字列と比較していますupdate1。これらは決して同じではありません。変数を比較したいです。

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

もちろん、すべてを次のように単純化できます。

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

おすすめ記事