[Rozw.]Prosty skrypt: bash + dialog

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

toro1984
Użytkownik
Posty: 24
Rejestracja: 2007-10-13, 11:03
Lokalizacja: Częstochowa
Kontakt:

[Rozw.]Prosty skrypt: bash + dialog

Post autor: toro1984 » 2008-04-24, 00:25

Witam,
mam do napisania prosty zapewne skrypt, który ma wyświetlać info o systemie: CPU, napędy cd, mysz, k. graficzna, k. sieciowa oraz zmienne środowiskowe PATH, LANG, SHELL, HOSTNAME, HOME. Nie wiem za bardzo jakich poleceń użyć do wyświetlenia info o k. graficznej, myszy oraz wyświetlenia zmiennych środowiskowych, bo resztą to chyba uname z odpowiednimi parametrami.

[ Komentarz dodany przez: Zielony: 2008-04-28, 11:12 ]
Zmień temat na sensowny.
Ostatnio zmieniony 2008-05-04, 22:39 przez toro1984, łącznie zmieniany 7 razy.

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: mina86 » 2008-04-24, 07:10

Do zmeinnych środowiskowych echo, do innych rzeczy można spróbować lspci.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

miszmaniac
Moderator
Posty: 1510
Rejestracja: 2006-03-19, 12:00
Lokalizacja: Gdynia
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: miszmaniac » 2008-04-24, 07:55

Przejrzyj sobie też katalog /proc/ i pliki w nim np. cpuinfo i w zależności od konfiguracji kilka innych.
Tam też znajdziesz dużo informacji.
Pamiętaj,
Jeśli Twój problem został rozwiązany dopisz [b] [Rozw.] [/b]w tytule.
Projektowanie stron WWW: [url=http://www.miszewski.net.pl]www.miszewski.net.pl[/url]

toro1984
Użytkownik
Posty: 24
Rejestracja: 2007-10-13, 11:03
Lokalizacja: Częstochowa
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: toro1984 » 2008-04-28, 01:22

Wiem już jak wyciągnąć mniej więcej info o podzespołach. Nie wiem jednak dlaczego nie działają mi w skrypcie wywalając błędy case'y odpowiedzialne za wyświetlanie zmiennych PATH i HOSTNAME. Siedziałem nad tym kawałek czasu i błąd pewnie jest banalny ale ja go dostrzec nie mogę :] Oto kod skryptu:

Kod: Zaznacz cały

#!/bin/bash
dialog --title "Zadanie 10" \
--backtitle "Przykłady okien dialogowych" \
--menu "Wybierz opcję: " 10 40 5 \
1 "Zmienna HOME." \
2 "Zmienna PATH." \
3 "Zmienna HOSTNAME." \
4 "Zmienna LANG." \
5 "Zmienna SHELL." 2> wynik.txt 
wybor=$?
wynik=`cat wynik.txt`

case $wybor in
  0) case "$wynik" in 
     "1") dialog --title "Zadanie 10" \
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa HOME: `echo $HOME`" 10 40 ;;
      "2") dialog --title "Zadanie 10" \   
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa PATH: `echo $PATH`" 10 40 ;;
      "3") dialog --title "Zadanie 10" \ 
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa HOSTNAME: `echo $HOSTNAME`" 10 40 ;;
      "4") ;;
      "5") ;;
     esac ;;
  1) echo "Wciśnięto Anuluj" ;;
  255) echo " Wciśnięto Esc" ;;
esac

rm -f wynik.txt

topdolar
Użytkownik
Posty: 389
Rejestracja: 2006-10-05, 18:35

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: topdolar » 2008-04-28, 04:38

Ogolnie wszystko dziala, tylko przy path pojawial sie taki blad:

Kod: Zaznacz cały

Error: Unknown option  .
Use --help to list options.


321: line 19: --backtitle: command not found
a to:

Kod: Zaznacz cały

#!/bin/bash
dialog --title "Zadanie 10" \
--backtitle "Przykłady okien dialogowych" \
--menu "Wybierz opcję: " 10 40 5 \
1 "Zmienna HOME." \
2 "Zmienna PATH." \
3 "Zmienna HOSTNAME." \
4 "Zmienna LANG." \
5 "Zmienna SHELL." 2> wynik.txt
wybor=$?
wynik=`cat wynik.txt`

case $wybor in
  0) case "$wynik" in
     "1") dialog --title "Zadanie 10" \
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa HOME: `echo $HOME`" 10 40 ;;
      "2") dialog --title "Zadanie 10" \
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa PATH: `echo $PATH`" 10 40 ;;
      "3") dialog --title "Zadanie 10" \
         --backtitle "Przykłady okien dialogowych" \
         --infobox "Zmienna środowiskowa HOSTNAME: `echo $HOSTNAME`" 10 40 ;;
      "4") ;;
      "5") ;;
     esac ;;
  1) echo "Wciśnięto Anuluj" ;;
  255) echo " Wciśnięto Esc" ;;
esac

rm -f wynik.txt
dziala tak jak powinno :) moze byl jakis bialy znak nie wiem... ale dziala poprawnie, przekopiowalem HOME do PATH, zmienilem $HOME na $PATH i dziala :P

EDIT:

ok juz wiem

Kod: Zaznacz cały

"2") dialog --title "Zadanie 10" \    
za backslashem jest ze 4 spacje i to sie gryzie :) zaznacz sobie od 2 do konca lini :D
Ostatnio zmieniony 2008-04-28, 04:40 przez topdolar, łącznie zmieniany 1 raz.

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: mina86 » 2008-04-28, 07:50

Gdy używasz zmiennej środowiskowej bezpośrednio to nie `echo $ZMIENNA` tylko po protstu $ZMIENNA.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

toro1984
Użytkownik
Posty: 24
Rejestracja: 2007-10-13, 11:03
Lokalizacja: Częstochowa
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: toro1984 » 2008-04-28, 17:09

topdolar - miałeś rację hehe jak dla mnie paranoja :] No cóż nauczka na przyszłość. A co do zmiennych środowiskowych to działają dwa sposoby. Kolejne pytanko odnośnie polecenia lscpi, nie jest ono dostępne dla zwykłego usera. Pytanie moje brzmi, czy istnieje możliwość w skrypcie zapytanie o hasło roota i dopiero po jego wpisaniu użycia komendy lspci?

[ Komentarz dodany przez: Zielony: 2008-04-28, 19:07 ]
"[Rozw.]"!

Ponieważ jeszcze nie zastosowałeś się do regulaminu, przypomnianego moim poleceniem, dostajesz ostrzeżenie.
Ostatnio zmieniony 2008-04-28, 17:18 przez toro1984, łącznie zmieniany 1 raz.

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: mina86 » 2008-04-28, 17:21

toro1984 pisze:A co do zmiennych środowiskowych to działają dwa sposoby.
A czy ja twierdziłem, że nie działają? Tyle, że jeden (ten, który zastosowałeś) jest niepoprawny, a drugi (ten, który podałem) jest poprawny.
toro1984 pisze:Pytanie moje brzmi, czy istnieje możliwość w skrypcie zapytanie o hasło roota i dopiero po jego wpisaniu użycia komendy lspci?
Zależy jaki chcesz osiągnąć efekt. Prawdopodobnie su -c lspci powinno wystarczyć.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

toro1984
Użytkownik
Posty: 24
Rejestracja: 2007-10-13, 11:03
Lokalizacja: Częstochowa
Kontakt:

Re: [Rozw.]Prosty skrypt: bash + dialog

Post autor: toro1984 » 2008-04-28, 20:38

Masz rację wystarczy napisać su -c. Da się jakoś wyciągnąc info o poszczególnych podzespołach dla zwykłego usera, nie roota?

ODPOWIEDZ