GNU/Linux >> Linux の 問題 >  >> Linux

更新が利用可能になったときに通知を表示するスクリプトを作成しますか?

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

承認された回答:

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

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

もちろん、全体を次のように簡略化することもできます。

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

Linux
  1. Tar.gzを作成するときに余分なファイルを避けますか?

  2. ファイルが画像であるかどうかを判断するためのスクリプト?

  3. アプリケーションの更新には料金がかかりますか?

  1. パーティションの作成時に認識されないディスク ラベル

  2. シェル スクリプトとはシェル スクリプトの作成方法

  3. .tar.gz ファイルの作成時にディレクトリを除外する

  1. Bashでは、いつエイリアスを作成し、いつスクリプトを作成し、いつ関数を作成するのですか?

  2. ファイルがすでに両側にある場合にディレクトリ構造を同期する方法はありますか?

  3. fork() するときにファイル記述子は共有されますか?