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?
Köra text-skript i terminalfönstret
-
- Inlägg: 2
- Blev medlem: 28 sep 2009, 20:18
- OS: Ubuntu
- Utgåva: 16.04 Xenial Xerus LTS
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Köra text-skript i terminalfönstret
Kod: Markera allt
. ./derby1
-
- 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
Tack!
. /home/mange/derby1 fungerade utmärkt!
. /home/mange/derby1 fungerade utmärkt!
Re: Köra text-skript i terminalfönstret
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".
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".