Hozzászólások
-
SzerzőBejegyzés
-
Sztm nem így van. A köznyezeti változók nem a scriptekhez vannak rendelelve, hanem a shellhez. A fentiek alapján nem lehetne pl. a PATH változót scriptbõl beállítani. Az viszont igaz, hogy „kifelé” nincs exportálás, de csak akkor játszik, ha shellbõl hívsz shellt. Azaz ha egy A script nem önmaga futtatja a scriptet, hanem meghív egy B scriptet. Ezt úgy is el lehet érni, hogy a script elsõ sorában szerepel a #!/bin/sh sor. Ilyenkor a
$ . script.sh # pont szóköz fájlnév
kiadásával felül lehet bírálni, és az elõbb említett A shell fogja futtatni a scriptet.Aki nem hiszi, járjon utána.
[align=right][snapback]120677[/snapback][/align]Ez már megoldás a problémára, csak akad vele egy kis gond. Sajna ezt rekurzívan csinálja felfelé. Tehát ha nyitok egy új terminált és elindítok rajta egy mc-t, akkor az mcnek nem lesz parancsértelmezõje, mert a meghívó shell futtatja az mc-t.
Az a legegyszerübb hogy a scriptbõl hívok egy új shellt, és itt már jók lesznek a környezeti változók.
Köszi, elég érthetõ volt. 🙂
Azért nem a .profile -t írtam át, mert nem szeretném ha ezek a változók globálisak lennének, csak arra az egy terminálra akarom beállítani õket.Hát nem tom!
Kösz a segitseget, megvan a megoldas.
A lefoglalásmal volt a baj (csomagszam+1 méretût kellet lefoglalni).Egyebként minek folytatnék egy olyan programot, ami már az egyik változó inicializálásánál sem müködik jól.
ezt kell kommentezni, hogy mûködjön:
for (l=0;l
nincs hibaüzenet, csak nem ugy fut le program ahogy kéne
mitha core dump lenne vagy valami hasonlóazt csak elfelejtettem kitorolni
kosz igy mar muxik.:)
A két meghívott függvény:
Code:void Telefon::sms_mind_kiir(){
int i,*sor;
smsek();
sor=(int *) smst_idoben_rendez();
for (i=0;i
” : „<-", sms[sor[i]].idopont.ev,sms[sor[i]].idopont.honap,sms[sor[i]].idopont.nap,sms[sor[i]].idopont.ora,sms[sor[i]].idopont.perc,sms[sor[i]].idopont.mp, sms[sor[i]].telszam,telefonkonyvbol_olvas(sms[sor[i]].telszam),sms[sor[i]].szoveg); } void Telefon::telefonkonyvet_kiir() { int i,*sor; telefonkonyvek(); sor=(int *) telefonkonyvet_nev_szerint_rendez(); for (i=0;telefonkonyv.bejegyzesek[i].telszam;i++) printf("%-15s %-15s (%d)n",telefonkonyv.bejegyzesek[sor[i]].nev,telefonkonyv.bejegyzesek[sor[i]].telszam,telefonkonyv.bejegyzesek[sor[i]].tarhely); } -
SzerzőBejegyzés
legutóbbi hsz