Login Hasło

  • Forum
  •  » Pozostałe
  •  » [SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

#1 2009.01.31 11:48:21

oks
Użytkownik
Zarejestrowany: 2009.01.28
Posty: 12
System: Arch Linux
Fluxbox: 1.0.0

[SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

Napisalem sobie skrypt do stanu baterii w laptopie, ktorego celem jest wylaczenie komputera jesli bateria bedzie miała mniej niz 3% energii, tylko teraz mam pytanie jak najlepiej zrobic, zeby ten skrypt mogl caly czas czuwac? Czy jedyne wyjscie to jakas petla, ktora bedzie ciagle powtarzala i sprawdzala zadanie albo powtarzala je w orkeslonym czasie az do spelnienia czy sa moze jakies inne sposoby?

Jestem poczatkujacy w bashu

Kod:

#!/bin/bash
maksymalny=`cat /proc/acpi/battery/BAT0/info |grep full|awk '{print $4}'`
aktualny=`cat /proc/acpi/battery/BAT0/state |grep "remaining capacity"|awk '{print $3}'`
stan_w_procentach=$[($aktualny*100)/$maksymalny]
if [ $stan_w_procentach -lt 3 ]
then
  shutdown -h +0
fi

Ostatnio edytowany przez oks (2009.02.02 17:59:18)

Offline

 

#2 2009.01.31 13:17:30

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: [SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

oks napisał(-a):

Czy jedyne wyjscie to jakas petla, ktora bedzie (...) powtarzala je w orkeslonym czasie az do spelnienia czy sa moze jakies inne sposoby?

Opisałeś działanie crona smile .

oks napisał(-a):

Napisalem sobie skrypt do stanu baterii w laptopie, ktorego celem jest wylaczenie komputera jesli bateria bedzie miała mniej niz 3% energii, tylko teraz mam pytanie jak najlepiej zrobic, zeby ten skrypt mogl caly czas czuwac?

Właściwie nie chcesz czuwać i reagować gdy coś się wydarzy, gdyż w ten sposób przez większość czasu niepotrzebnie zużywasz zasoby (jakkolwiek marginalne by one nie były). Chcesz po prostu reagować na jakieś zdarzenie. Wychwytywać i odpowiednio reagować na zdarzenia typowo laptopowe pomaga demon acpid. Wierzę że potrafi on także zareagować na niski stan baterii. Zapoznaj się z tymi dokumentami (po ang.):
http://mindspill.net/computing/linux-no … rning.html
http://www.thinkwiki.org/wiki/How_to_configure_acpid

oks napisał(-a):

Kod:

maksymalny=`cat /proc/acpi/battery/BAT0/info |grep full|awk '{print $4}'`

Mnożysz koty. grep przyjmuje pliki które ma przeszukiwać po argumentach:

Kod:

grep full /proc/acpi/battery/BAT0/info |awk '{print $4}'

Bardziej zaawansowani wiedzą, że to samo można zrobić przy użyciu tylko awk-a:

Kod:

awk '/full/ {print $4}' /proc/acpi/battery/BAT0/info

oks napisał(-a):

Kod:

stan_w_procentach=$[($aktualny*100)/$maksymalny]

Wierzę że ten zapis działa, ale w bash-u operacje arytmetyczne zapisuje się w podwójnym nawiasie (z opcjonalnym pominięciem dolarów poprzedzających nazwy zmiennych):

Kod:

$(( (aktualny * 100) / maksymalny ))

Offline

 

#3 2009.01.31 19:57:09

azhag
Dozorca
Skąd: Warszawa
Zarejestrowany: 2006.11.21
Posty: 819
System: Debian Testing
Fluxbox: 1.3.5
WWW

Re: [SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

Minio napisał(-a):

oks napisał(-a):

Kod:

stan_w_procentach=$[($aktualny*100)/$maksymalny]

Wierzę że ten zapis działa, ale w bash-u operacje arytmetyczne zapisuje się w podwójnym nawiasie (z opcjonalnym pominięciem dolarów poprzedzających nazwy zmiennych):

Kod:

$(( (aktualny * 100) / maksymalny ))

poprawka — w powłoce robi się to przy pomocy podwójnych nawiasów, nawias kwadratowy to jest bashyzm smile


Dr Chandra, will I dream?
pogoda w conky :: wybierz jabbera :: polski portal debiana :: registered linux user #403712

Offline

 

#4 2009.02.02 17:58:50

oks
Użytkownik
Zarejestrowany: 2009.01.28
Posty: 12
System: Arch Linux
Fluxbox: 1.0.0

Re: [SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

Dzieki za pomoc!

Offline

 
  • Forum
  •  » Pozostałe
  •  » [SOLVED] Jak mozna skrypt w bashu dac na czuwanie?

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson