Sida 1 av 1

spara miljövariabler

Postat: 11 apr 2007, 19:37
av freemanen
om man kör export hej=1 så kan man använda det i terminalen, men efter omstart av terminalen är det borta. Hur sparar man?

SV: spara miljövariabler

Postat: 11 apr 2007, 20:23
av HellRat
Hur menar du med hej=1?

Jag sparar mina miljövariabler i .bashrc (som inkluderas i .bash_profile, man kanske kan lägga det direkt där). Jag tror inte du behöver skriva export, bara "tilldelningen". =)

SV: spara miljövariabler

Postat: 11 apr 2007, 21:12
av johan_pirate
Så ni menar att jag kan använda:

Kod: Markera allt

export hej=fil.txt
sen köra:

Kod: Markera allt

rm hej
??? ;D

SV: spara miljövariabler

Postat: 11 apr 2007, 21:19
av Emil.s
johan_pirate skrev: Så ni menar att jag kan använda:

Kod: Markera allt

export hej=fil.txt
sen köra:

Kod: Markera allt

rm hej
Nästan, du lär lägga till "$" frammför.  :)
Och så behöver du inte "export":

Kod: Markera allt

emil@servern: ~ $ touch test
emil@servern: ~ $ ls -l | grep test
-rw-r--r--  1 emil emil   0 2007-04-11 21:19 test
emil@servern: ~ $ FIL=./test
emil@servern: ~ $ rm $FIL
emil@servern: ~ $ ls -l | grep test
emil@servern: ~ $ 

SV: spara miljövariabler

Postat: 11 apr 2007, 21:21
av Lars
Om man bara kör "hej=1" så blir det ingen miljövariabel utan en skalvariabel. Skillnaden är att miljövariabler ärvs av andra processor medan skalvariabler endast används av det skal de sätts i.

SV: spara miljövariabler

Postat: 11 apr 2007, 21:24
av johan_pirate
Fy va fräckt! de ska jag bara använda ;D ;D

SV: spara miljövariabler

Postat: 12 apr 2007, 11:38
av Emil.s
Lars skrev: Om man bara kör "hej=1" så blir det ingen miljövariabel utan en skalvariabel. Skillnaden är att miljövariabler ärvs av andra processor medan skalvariabler endast används av det skal de sätts i.
Aha!
Så om jag kör typ "BACK=.." så gäller det bara i skalet jag befinner mig i just nu. Men om jag kör "export" så gäller det även om jag "su:ar", startar nya skal från skalet osv...?

SV: spara miljövariabler

Postat: 12 apr 2007, 12:15
av Konservburk
Emil.s skrev: Aha!
Så om jag kör typ "BACK=.." så gäller det bara i skalet jag befinner mig i just nu. Men om jag kör "export" så gäller det även om jag "su:ar", startar nya skal från skalet osv...?
Om du export-markerar en variabel så ärvs den av alla underprocesser.
Men underprocesserna kan själva kasta bort variablen om de så vill.
T.ex. har du kvar dina miljövariabler när du kör su, men inte om du
använder su - istället.

Även env - kasserar alla miljövariabler ...

Kod: Markera allt

$ VARIABEL=hejsan
$ sh -c 'echo :$VARIABEL:'
::
$ export VARIABEL
$ sh -c 'echo :$VARIABEL:'
:hejsan:
$ env - sh -c 'echo :$VARIABEL:'
::