Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.505 pregleda

Najnovija ↓

jednostavni shell u c-u 12.06.2006. u 14:08 · pre 248 meseci #1
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:(
Re: jednostavni shell u c-u 12.06.2006. u 16:27 · pre 248 meseci #2
Počni od utvrđivanja šta ta skriptica treba da radi. Onda će biti lakše i tebi i nama.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: jednostavni shell u c-u 12.06.2006. u 21:02 · pre 248 meseci #3
Nisam mislio na skriptu nego na shell pisan u C-u, kao sto je to npr. bash, samo bi ovaj moj bio puuuno jednostavniji ...
Re: jednostavni shell u c-u 12.06.2006. u 21:29 · pre 248 meseci #4
Pa nađi source code nekog shella i pročačkaj. Mislim da je Bourne Shell najjednostavniji.
Re: jednostavni shell u c-u 13.06.2006. u 12:52 · pre 248 meseci #5
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...
Potpis
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
Re: jednostavni shell u c-u 16.06.2006. u 05:56 · pre 248 meseci
izmenjeno 1 put, poslednji put Gojko Vujovic 16.06.2006. u 08:07
  1. Gojko Vujovic16.06.2006. u 08:07zapis iz teksta poruke
#6
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 :)
Potpis
Put the funk in funktion.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme