Probléma a környezeti változókkal

Kezdőlap Fórumok Programozás Probléma a környezeti változókkal

8 bejegyzés megtekintése - 1-8 / 8
  • Szerző
    Bejegyzés
  • #2004525
    Gyuszk
    Felhasználó

      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.

      #2004526
      kisbetu
      Felhasználó

        annak aki ért hozzá

        Igen.
        Mert aki nem ért hozzá, az C++-ban ír szkripteket.

        #2004527
        mursu
        Felhasználó

          Hali,

          #2004528
          mjoker
          Felhasználó

            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.

            #2004529
            gabaman
            Felhasználó

              Ez 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.

              #2004530
              gabaman
              Felhasználó

                Nos 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.

                #2004531
                mjoker
                Felhasználó

                  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.

                  #1878625
                  csaba
                  Felhasználó

                    Hali,

                  8 bejegyzés megtekintése - 1-8 / 8
                  • Be kell jelentkezni a hozzászóláshoz.