Sida 1 av 1

Köra text-skript i terminalfönstret

Postat: 28 sep 2009, 20:48
av maximilian
Vill förenkla skrivandet i terminalfönstret. Exempelvis vill jag ibland skapa en miljövariabel enligt följande:
export DERBY_HOME=/home/mange/javadb

Det går utmärkt att skriva raden ovan i terminalfönstret. Miljövariablen sätts då på korrekt sätt.
Men försöker jag att göra samma sak med hjälp av en textfil innehållande samma rad d.v.s.
export DERBY_HOME=/home/mange/javadb, händer inget.
Textfilen har jag kallat "derby1"
Har gjort filen exekverbar "sudo chmod +x derby1".

Ingen av följande skrivningar har hjälpt
@ derby1
@ ./derby1
@ <path>/derby1

Några förslag på vad felet är?

Re: Köra text-skript i terminalfönstret

Postat: 28 sep 2009, 20:57
av Konservburk

Kod: Markera allt

. ./derby1

Re: Köra text-skript i terminalfönstret

Postat: 28 sep 2009, 21:43
av maximilian
Tack!
. /home/mange/derby1 fungerade utmärkt!

Re: Köra text-skript i terminalfönstret

Postat: 28 sep 2009, 21:44
av gusse02
Och förklaringen till detta är ...
När du normalt kör ett skript från kommandoraden så "spawnar shellet" en ny process. Denna nya process ärver miljön från föräldern. EXPORT i scriptet påverkar inte föräldern bara den egna processen (och eventuella barn-processer).

För att få ändringar i miljövariabler att "bita" så måste man låta skriptet köra i den egna processen. Det var det Konservburk visade. Punkt är en förkortning/alias för "source".