Kezdőlap › Fórumok › Programozás › Probléma a környezeti változókkal
- This topic has 7 hozzászólás, 6 résztvevő, and was last updated 20 years, 4 months telt el by
mjoker.
-
SzerzőBejegyzés
-
2005-02-26-19:37 #2004525
esetleg ha megmondanád, hogy mivel irtad, milyen diszrib, mi a kód, … :angry2:
(na nem nekem, hanem annak aki ért hozzá. most azt sem tudjuk hogy Perl, vagy C++.)
:angry2:
ilyenkor gondolatban próbálj meg magadnak válaszolni, mintha elöször olvasnád el amit irtál.2005-02-26-19:42 #2004526annak aki ért hozzá
Igen.
Mert aki nem ért hozzá, az C++-ban ír szkripteket.2005-02-26-19:51 #2004527Hali,
2005-02-26-20:08 #2004528Kö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.2005-02-26-20:46 #2004529Ez a jelenség ‘mc alatt’ tipikus, mivel az mc (midnight commander) is egy shell, és scriptek indításánál is egy másik shell nyílik meg vele párhuzamosan.
2005-02-26-21:15 #2004530Nos arra, hogy hogyan tudnád megoldani, sajna most nem tudok válaszolni, merrt erre még nem volt szükségem, a .profilet átírtam, ha valami ilyesmire volt szükségem, és ennyi.
Az export viszont nem erre szolgál, így ne csodáld, hogy nem mûködik. Az exportnak „befelé” van hatása, „kifelé” nincs, azaz ha nem exportálod, akkor a scriptedben lesz meg átállítva a változó, ha exportálod, akkor minden a scriptedbõl indított program így látja, azoonban a scripten kívül semmi nem így látja.
Remélem érthetõen írtam le, sajna kissé kimerült vagyok :blush:
Azért megpróbáltam 🙂
[align=right][snapback]120660[/snapback][/align]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.
2005-02-26-21:56 #2004531Sztm 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.
2009-12-04-19:56 #1878625Hali,
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz