Köra text-skript i terminalfönstret

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
maximilian
Inlägg: 2
Blev medlem: 28 sep 2009, 20:18
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

Köra text-skript i terminalfönstret

Inlägg 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?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

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

Inlägg av Konservburk »

Kod: Markera allt

. ./derby1
maximilian
Inlägg: 2
Blev medlem: 28 sep 2009, 20:18
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

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

Inlägg av maximilian »

Tack!
. /home/mange/derby1 fungerade utmärkt!
gusse02
Inlägg: 258
Blev medlem: 16 maj 2008, 12:17
OS: Ubuntu
Utgåva: 20.04 Focal Fossa LTS

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

Inlägg 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".
Skriv svar

Återgå till "Terminalforum"