バッテリーが90%以上、20%以下、10%以下の場合に通知するスクリプトが必要です。フルスクリーンモードで映画を見たときに表示される通知を受け取るように、通知を送信する代わりにzenityを使用するには、次のものを組み合わせました。私が決して理解できなかったのは、「ge」と「le」だけで数字の範囲(11%-20%)を表現する方法です。プラグを差し込んだり抜いた後に通知を停止することもお勧めします。これが私が今まで持っているものです:
#!/bin/bash
#Battery level notification
while true
do
battery_level=$(acpi -b | grep -P -o '[0-9]+(?=%)')
if [ "$battery_level" -ge 90 ]; then
zenity --info --title="Battery is at or above 90%" --text="Unplug adapter now" --icon-name='battery' --height=50 --width=200
fi
sleep 180 # 180 seconds or 3 minutes
if [ "$battery_level" -le 20 ]; then
zenity --info --title="Battery is at or below 20%" --text="Plug in adapter now" --icon-name='battery' --height=50 --width=200
fi
sleep 120 # 120 seconds or 2 minutes
if [ "$battery_level" -1e 10 ]; then
zenity --warning --title="Battery is at or below 10%" --text="PLUG IN ADAPTER NOW!!!" --icon-name='battery' --height=50 --width=200
fi
sleep 60 # 60 seconds or 1 minute
done
上で私が何をしているのか全く分からないことが明らかになりました! (この記事がどの言語で書かれたのかわかりません。)Linux Mint 19.2 Cinnamonを使用してください。
答え1
これはあなたに役立ちます:
#!/bin/bash
#Battery level notification
while true
do
battery_level="$1"
if [ "$battery_level" -ge 90 ]; then
#Battary level is 90 or higher
zenity --info --title="Battery is at or above 90%" --text="Unplug adapter now" --icon-name='battery' --height=50 --width=200
elif [ "$battery_level" -le 20 ] && [ "$battery_level" -ge 11 ]; then
#Battary level is between 11 and 20
zenity --info --title="Battery is at or below 20%" --text="Plug in adapter now" --icon-name='battery' --height=50 --width=200
elif [ "$battery_level" -le 10 ]; then
#Battary level is less or equal 10
zenity --warning --title="Battery is at or below 10%" --text="PLUG IN ADAPTER NOW!!!" --icon-name='battery' --height=50 --width=200
fi
sleep 60 # 60 seconds or 1 minute
done
文字を使用して複数の条件を確認できます&&
。そしてelif
else ifを表します。最初の条件が機能しない場合は2番目の条件をチェックし、それが機能しない場合は3番目の条件を確認する式に進みます。