Nowe posty

Autor Wątek: Odczytanie pliku do zmiennej z określonej linii.  (Przeczytany 4328 razy)

politech

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« dnia: 2011-08-03, 14:07:02 »
hej,
chciałbym odczytać zawartość pliku do zmiennej. Plik zawiera w sobie jeden znak(0 lub 1) więc chciałbym uniknąć odczytywania tzw linia po lini a może uzyć odpowiednio polecenia cat
a=cat /sys/class/gpio/gpio93/value 2>&1
niestety coś takiego nie działa

tomw

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #1 dnia: 2011-08-03, 15:24:30 »
Spróbuj:
a=`cat /sys/class/gpio/gpio93/value` ( ` - ten z klawisza razem z ~ )
Możesz zweryfikować czy zmienna ma właściwą wartość: echo $a

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #2 dnia: 2011-08-04, 02:58:47 »
po prostu
a=$(cat /sys/class/gpio/gpio93/value)
(Różnica między $() a `` jest bardzo trudna do zauważenia, właściwie już nie pamiętam na czym polega; ale podobno jest. Oczywiście pomijając sympatie estetyczne.)

No i chyba lepiej w przypadku niepowodzenia mieć pustą zmienną niż zmienną zawierającą komunikat błędu.

politech

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #3 dnia: 2011-08-04, 09:32:55 »
ok dzięki za pomoc,
mam jeszcze jedno pytanie skrypt ten chciałbym odpalać przy stracie systemu, tak aby skrypt działał cały czas(ma tam w sobie petle nieskonczona). Więc dodaje skrypt do etc/init.d oraz wykonuje /etc/init.d/skrypt enable
a sam skrypt modyfikuje:
START=100
start()
{
#skrypt...
}
coś jeszcze?

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #4 dnia: 2011-08-05, 01:06:55 »
1. Co to za dystrybucja?
2. Nie masz tam /etc/init.d/skeleton?
3. Nie prościej wrzucić do /etc/rc.local?

politech

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #5 dnia: 2011-08-05, 08:24:52 »
ehh zapomniel napisac dystrybucji: Openwrt
jesli wrzuce do rc lokal tw takiej postaci? i czy trzeba jkos modyfikowac skrupt ktory uzywa sleep aby dziala tak jakby w tle tzn zeby mozna bylo reszte skryptow odpalac normalnie?

ZipoKing

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #6 dnia: 2011-08-05, 09:43:54 »
1. Powiedzmy że skrypt sprawdzający zawartość pliku masz w /usr/local/bin/sprawdz_gpio.sh, który wyglądałby mniej więcej tak:
Kod: bash [Zaznacz]
#!/bin/bash
while [ /bin/true]
do
  # Tutaj główna część skryptu
  sleep 60 # 1min. przerwa
done

A w init.d powinieneś umieścić wywłanie postaci:
Kod: bash [Zaznacz]
(/usr/local/bin/sprawdz_gpio.sh &)

politech

  • Gość
Odczytanie pliku do zmiennej z określonej linii.
« Odpowiedź #7 dnia: 2011-08-05, 10:18:36 »
w openwrt w init.d znajduja sie skrypty, które są odpalane a nie skrypt odpalający reszte-nie wiem czy dobrze zrozumiałem twój post