次のコマンドがあります。
if [ $battery_level -le 6 -a $STATUS = $NOT_CHARGING ] #Battery Low 1
then
/usr/bin/notify-send -i "$ICONL" "Battery critically low!" "Battery level is ${battery_level}%!"
paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga
バッテリーが一定のレベルに達すると、メッセージをエクスポートして音を出します。しかし、あまりにも頻繁に繰り返されます。
同じコマンドを同様の行に分けてスリープモードに切り替えて再実行することはできますが、sleep 120s
何回実行するのかわかりません。
2分間隔で無期限に実行する必要があります(ある時点で、システムのスリープまたは休止状態がまったく異なるスクリプトによってトリガーされるため)。
ねえ:X秒ごとにLinuxコマンドを永久に実行または繰り返す方法、1つのオプションは、sleep
もう1つはですwatch
。
watch
動作しているようですが、フォームでのみ動作します。
watch -n 120 <my_line>
、出力がわずかに変わります(バッテリー残量は表示されなくなりました)。
答え1
ループを使用してくださいwhile
。
while [ "$battery_level" -le 6 ] && [ "$STATUS" = "$NOT_CHARGING" ]