Nowe posty

Autor Wątek: Nietypowy skrypt ?  (Przeczytany 6932 razy)

zgaS

  • Gość
Nietypowy skrypt ?
« dnia: 2010-12-30, 15:05:27 »
Witam mam zamiar stworzyć skrypt dość nietypowy (może dla mnie, bo za bardzo się na tym nie znam ...) chodzi więc o to, że przy starcie systemu automatycznie odpali się konsola i trzeba będzie odpowiedzieć na pytanie, jeśli odpowie się dobrze to system będzie działał dalej jeśli zaś nie to zostanie automatycznie wyłączony i nie odpali się aż nie odpowiemy dobrze na pytanie. Myślę, że w miarę to wytłumaczyłem :D za pomoc dzięki i pozdro

arctgx

  • Gość
Nietypowy skrypt ?
« Odpowiedź #1 dnia: 2010-12-30, 15:59:53 »
Cytat: zgaS
Witam mam zamiar stworzyć skrypt dość nietypowy (może dla mnie, bo za bardzo się na tym nie znam ...)
Skąd więc taki zamiar?

zgaS

  • Gość
Nietypowy skrypt ?
« Odpowiedź #2 dnia: 2010-12-30, 16:22:38 »
W szkole mamy linuxa i każdy miał przygotować jakiś ciekawy skrypt, a stworzenie takiego wpadło mi do głowy tylko gorzej z wykonaniem.

arctgx

  • Gość
Nietypowy skrypt ?
« Odpowiedź #3 dnia: 2010-12-30, 16:25:24 »
Cytat: zgaS
W szkole mamy linuxa i każdy miał przygotować jakiś ciekawy skrypt, a stworzenie takiego wpadło mi do głowy tylko gorzej z wykonaniem.
Nie uczyli wcześniej podstaw?

zgaS

  • Gość
Nietypowy skrypt ?
« Odpowiedź #4 dnia: 2010-12-30, 16:51:11 »
Mamy takiego nauczyciela, że szkoda gadać. Linuksa mamy od niedawna a mimo to nauczyciel wymaga a nie uczy niestety...

ra-v

  • Gość
Nietypowy skrypt ?
« Odpowiedź #5 dnia: 2010-12-30, 17:59:08 »
@arctgx, na studiach jest tragedia , wiem z doświadczenia. Ani DOS ani Linux, a jeśli już to Linux, i to nie ze względu na to że dosc dużo ludzi juz używało, raczej ci co znają wykonują jakiś zawód z tym związany.

@zgaS, problem w tym że aby cokolwiek zrobić trzeba się zalogować. Powinienem zadać pytanie czy Linux jest w trybie tekstowym czy graficznym, ale szczerze radzę zastanowić się naprawdę na prostym ale funkcjonalnym skryptem, który raczej sam zrozumiesz (pętle, warunki, zmienne) i się przyuczysz. Przecież to tylko zaliczenie które dopiero na początku następnego roku :)

  • Gość
Nietypowy skrypt ?
« Odpowiedź #6 dnia: 2010-12-30, 19:18:53 »
Cytat: zgaS
Witam mam zamiar stworzyć skrypt dość nietypowy (może dla mnie, bo za bardzo się na tym nie znam ...) chodzi więc o to, że przy starcie systemu automatycznie odpali się konsola i trzeba będzie odpowiedzieć na pytanie, jeśli odpowie się dobrze to system będzie działał dalej jeśli zaś nie to zostanie automatycznie wyłączony i nie odpali się aż nie odpowiemy dobrze na pytanie. Myślę, że w miarę to wytłumaczyłem :D za pomoc dzięki i pozdro
Nie jestem co prawda studentem informatyki , a tylko samoukiem. Trochę Ci podpowiem
Jeśli coś w ten deseń to:
Wpisujesz w konsoli :
Nazwa lub wybór edytora są bez znaczenia.
nano skrypt lub gedit skrypt
Potem wpisujesz to lub kopiujesz ;)  
#!/bin/bash
dialog --title "Okno inputbox" \\
--backtitle "Kurs programowania w shellu" \\
--inputbox "Jaki jest numer gg twojej dziewczyny?" 8 40 "Tu wpisz numer"
Potem zapisujesz i nadajesz prawa
chmod +x skrypt
Teraz  odpalasz
./skrypt
Teraz przydało by się go dodać do autostartu systemu. Nie wiem jakie w szkole masz środowisko graficzne. Jeśli Gnome to dodajesz do programów startowych. Jesli inne to dodajesz do ".xinitrc"
Pamietaj że to nie jest jeszcze "gotowiec" gotowy skrypt. Trochę Cie tylko nakierowałem. Musisz jeszcze dodać wyłączanie systemu "shutdown -h now" do błędnej odpowiedźi.
Pozdrawiam

zgaS

  • Gość
Nietypowy skrypt ?
« Odpowiedź #7 dnia: 2010-12-30, 22:56:35 »
Dzieki  bardzo :)

arctgx

  • Gość
Nietypowy skrypt ?
« Odpowiedź #8 dnia: 2010-12-31, 01:16:58 »
Cytat: ra-v
@arctgx, na studiach jest tragedia , wiem z doświadczenia. Ani DOS ani Linux, a jeśli już to Linux, i to nie ze względu na to że dosc dużo ludzi juz używało, raczej ci co znają wykonują jakiś zawód z tym związany.
Bywają nieźli prowadzący, bywają kiepscy. Bywa też, że studenci zostawiani są samopas bez dobrych wytycznych. O swoim doświadczeniu z takim zaśmiecaniem umysłu (przestarzałymi podręcznikami HTML) gdzieś tu już wspomniałem.

zgaS, może warto poddać nauczyciela ocenie przez kogoś z góry, nim zmarnuje on Ciebie (niczego nie nauczy) i załatwi lufą na koniec semestru? Piszę to bazując, rzecz jasna, tylko na Twojej wypowiedzi ;).

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3069
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Nietypowy skrypt ?
« Odpowiedź #9 dnia: 2010-12-31, 18:40:08 »
Cytat: stryj
#!/bin/bash
dialog --title "Okno inputbox" \\
--backtitle "Kurs programowania w shellu" \\
--inputbox "Jaki jest numer gg twojej dziewczyny?" 8 40 "Tu wpisz numer"
Potem zapisujesz i nadajesz prawa
chmod +x skrypt
Teraz  odpalasz
./skrypt
Teraz przydało by się go dodać do autostartu systemu. Nie wiem jakie w szkole masz środowisko graficzne. Jeśli Gnome to dodajesz do programów startowych. Jesli inne to dodajesz do ".xinitrc"
To jak już pokazujesz dialog ... --inputbox, to może zdradzisz Zgas-owi nieoczywisty sposób wczytania wyniku działania dialog-a do zmiennej :) Inny niż
dialog ... --inputbox ... 2> /tmp/blabla
ZMIENNA=`cat /tmp/blabla`
Co jak co, ale pobieranie wyników od dialog-a to jakaś kpina... Praktycznie wszystkie znane mi sposoby to machlojki zamieniające STDERR i STDOUT, umożliwiające użycie dialog w potoku albo bezpośrednie wczytanie do zmiennej.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

  • Gość
Nietypowy skrypt ?
« Odpowiedź #10 dnia: 2011-01-01, 12:25:55 »
Cytat: pkraszewski
Cytat: stryj
#!/bin/bash
dialog --title "Okno inputbox" \\
--backtitle "Kurs programowania w shellu" \\
--inputbox "Jaki jest numer gg twojej dziewczyny?" 8 40 "Tu wpisz numer"
Potem zapisujesz i nadajesz prawa
chmod +x skrypt
Teraz  odpalasz
./skrypt
Teraz przydało by się go dodać do autostartu systemu. Nie wiem jakie w szkole masz środowisko graficzne. Jeśli Gnome to dodajesz do programów startowych. Jesli inne to dodajesz do ".xinitrc"
To jak już pokazujesz dialog ... --inputbox, to może zdradzisz Zgas-owi nieoczywisty sposób wczytania wyniku działania dialog-a do zmiennej :) Inny niż
dialog ... --inputbox ... 2> /tmp/blabla
ZMIENNA=`cat /tmp/blabla`
Co jak co, ale pobieranie wyników od dialog-a to jakaś kpina... Praktycznie wszystkie znane mi sposoby to machlojki zamieniające STDERR i STDOUT, umożliwiające użycie dialog w potoku albo bezpośrednie wczytanie do zmiennej.
Wiesz co to jest przykład? Napisałem że to nie jest "gotowiec" a chciałem mniej więc dla przykładu pokazać chłopakowi jakiś prosty skrypt , jak sie go tworzy. Skoro tak lubisz oceniac innych i pokazywać jaki to z Ciebie dobry skrypter. To może napisz koledze "gotowca" , skoro możesz to zrobić w 5 minut ,albo i szybciej.
A nie negować innych i pokazywać , jaki to jestes mądry skrypter...

zgaS

  • Gość
Nietypowy skrypt ?
« Odpowiedź #11 dnia: 2011-01-01, 16:53:08 »
Spokojnie chłopaki :) bez nerwów spróbuje to "jakoś" opanować, a nauczyciela często sami poprawiamy więc macie odpowiedź na to jak może nauczać.... pozdrawiam
Dodam jeszcze, że nie musi być to jakiś super-hiper skrypt, raczej napisany najprostszymi metodami o ile takimi się da :)

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3069
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Nietypowy skrypt ?
« Odpowiedź #12 dnia: 2011-01-01, 17:31:51 »
Cytat: stryj
Wiesz co to jest przykład? Napisałem że to nie jest "gotowiec" a chciałem mniej więc dla przykładu pokazać chłopakowi jakiś prosty skrypt , jak sie go tworzy. Skoro tak lubisz oceniac innych i pokazywać jaki to z Ciebie dobry skrypter. To może napisz koledze "gotowca" , skoro możesz to zrobić w 5 minut ,albo i szybciej.
Nie napisałem mojego posta, żeby cię dyskredytować, tylko żeby pokazać, że przy zaawansowaniu pytającego odpowiedź w postaci dialog nie jest najfortunniejsza, bo najprawdopodobniej nie poradzi sobie z pobraniem z niego wyniku. A to jest najkrótsza droga do zniechęcenia do używania konsoli.

Kolego zGAS, może coś takiego: interaktywny skrypt do wędrówki po drzewie katalogów w stylu starych, tekstowych RPG?

Szkielet:
#!/bin/bash

DIR=`pwd`
while true
do
 echo -n "Co chesz zrobic: "
 read CMD PARAMETR
 case $CMD
  idz)
   costamcostam
   ;;
  pokaz)
   costamcostam
   ;;  
  koniec)
   break
   ;;
  *)
   echo "Nie wiem jak zrobic $CMD..."
   ;;
 esac
done
"idz" podpinasz pod komendę cd, "pokaz" w zależnosci od celu może wywołać ls, stat, file czy coś innego.
W tym skrypcie poćwiczyłbyś sobie:
* Pętle ("while true" to przypadek zdegenerowany) plus operacje break i continue
* Instrukcję case
* Warunki i instrukcję test/[ (sprawdzenie, czy katalog/plik instnieje, jakiego jest typu)
* Instrukcje rodziny ls/stat/file badające właściwości obiektu na dysku

Praktycznie wszystkie potrzebne struktury masz w dokumentacji do bash-a, poza ostatnim punktem. Polecam lekturę man bash i Advanced Bash-Scripting Guide.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

zgaS

  • Gość
Nietypowy skrypt ?
« Odpowiedź #13 dnia: 2011-01-02, 14:18:29 »
Dzięki za odpowiedzi i pomoc :) zobaczymy jak to wyjdzie w tym tygodniu...
Jak macie jeszcze inne ciekawe skrypty to możecie się nimi ze mną podzielić zawsze to coś więcej do nauki... pozdrawiam :)