Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

jednostavni shell u c-u

[es] :: C/C++ programiranje :: jednostavni shell u c-u

[ Pregleda: 2743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milan82

Član broj: 35288
Poruke: 72
*.adsl.net.t-com.hr.



Profil

icon jednostavni shell u c-u12.06.2006. u 13:08 - pre 216 meseci
Htio bi napraviti svoj shell sa nekim jednostavnom funkcijama (tipa redirekcija) a ne znam odakle da pocnem. Je li netko radio nesto slicno? Trazio sam po Internetu, nista nisam korisna nasao:(
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.sr.gov.yu.



+2789 Profil

icon Re: jednostavni shell u c-u12.06.2006. u 15:27 - pre 216 meseci
Počni od utvrđivanja šta ta skriptica treba da radi. Onda će biti lakše i tebi i nama.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

milan82

Član broj: 35288
Poruke: 72
*.cmu.carnet.hr.



Profil

icon Re: jednostavni shell u c-u12.06.2006. u 20:02 - pre 216 meseci
Nisam mislio na skriptu nego na shell pisan u C-u, kao sto je to npr. bash, samo bi ovaj moj bio puuuno jednostavniji ...
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.PPPoE-2889.sa.bih.net.ba.



+1 Profil

icon Re: jednostavni shell u c-u12.06.2006. u 20:29 - pre 216 meseci
Pa nađi source code nekog shella i pročačkaj. Mislim da je Bourne Shell najjednostavniji.
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-66-198.noos.fr.



Profil

icon Re: jednostavni shell u c-u13.06.2006. u 11:52 - pre 216 meseci
Evo za pocetak napisi ove funkcije:
1. funkcija koja cita jednu liniju sa ulaza (naravno, ne mozes samo da uradis jedan read od ne znam ja koliko karaktera, i da se ne brines da li posle toga ostaje jos nesto)
2. Funkcija koja ima 2 argumenta: jedan char* i jedan char. Karakter sluzi kao delimiter po,ocu kojeg odredjujes gde se jedna rec prekida, a gde druga pocinje (ako znas php, to ti je kao funkcija explode), i da funckija vraca char**, koji predstavlja sve reci koje su bile u char*.
3. Funkciju koja je zaduzena za prikupljanje envirement variabli, i naravno, ako ne postoji, da je napravi.
4. Funkciju koja exekuje ono sto je korisnik upisao, naravno ako komanda postoji, i funckija koja ceka da se child program zavrsi, prikupi return value deteta i strpa ga u $? variablu.
5. Trazi kako da predjes u non-canonical mode, trebace ti za shell.
6. Napravi par funkcija koje omogucavaju history.
7. Funkciju koja omoguava da, kad pritisnes <tab>, ispise ime programa, ako postoji.
(Nemoj da radis 6 i 7 pre 5)

Za sada eto imas sve ovo da radis, znam da hoces jednostavan shell, ali, ako si vec zainteresovan, zasto da ga ne uradis dobro.

Mozes da uradis samo 1 i 2, i jos par gluposti i da imas fumkcionalan shell, ali nije zanimljivo, to se uradi na brzaka, pas cak i redirekcija...
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

cynique
Ivan Štambuk
Zagreb@Croatia

Član broj: 93690
Poruke: 155
193.198.17.*

ICQ: 106979934
Sajt: istambuk.blogspot.com


Profil

icon Re: jednostavni shell u c-u16.06.2006. u 04:56 - pre 216 meseci
Imaš u knjizi:

http://www.amazon.com/gp/produ...-9787934?v=glance&n=283155

Chapter 11, primjer projekta izgradnje jednostavnog shella - sve od std* redirekcije, pipeova, signala, background procesa, kontrole jobova..dovoljno da ti se POSIX API zgadi do kraja života :)


[Ovu poruku je menjao Gojko Vujovic dana 16.06.2006. u 08:07 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: jednostavni shell u c-u

[ Pregleda: 2743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.