Skip to content

Environment Variable Bash OSX MAC

Environment variables / miljövariabler vad är det?

  • Environmentvariable = Innehåller information som kan behövas av olika program vid exekvering.
  • Environmentvariable = Ett “namn” på en minnesadress som pekar på en den delen av datorns minne som innehåller den information som är kopplad til just denna variabel.
  • Environmentvariable = En variabel helt enkelt =), när variabel efterfrågas så hämtas det som variabeln innehåller.

Environmentvariables hittar man på lite olika ställen i OSX... Bara för att man ändrar den på ett ställe innebär det inte att den är ändrad på alla ställen du kan tänkas exekvera program ifrån. Det uttalandet tål att tänkas på.

EVIRONMENT VARIABLER – (vanligt förekommande, alltså inte alla...)

$HOME
Sökväg för hemkatalogen

$SHELL
Information om det skall man använder och loggat in i

$USER
Vilken användare man är för tillfället.

$PATH
Lista över kataloger innehållandes exekverbara kommandon, så att om man där man för tillfället befinner sig t.ex. vill köra kommandot javac så innehåller förhoppningsvis ens PATH-variabel en sökväg till en katalog där kommandot javac finns. I OSX så är det som så att när du skriver tillexempel javac helloworld.java så hittar OSX binären javac genom att använda sig av environment variabel PATH. I denna variabel PATH så finns nämligen sökvägen /usr/bin angiven och där i finns en(flera) symlänkar till java program specifika för din SDK som du vill/använder dig av. Klicka här för att läsa mer om JAVA och OSX.

$MANPATH
Lista över kataloger som innehåller man (manualsidor)

$CLASSPATH
Sökvägar till kataloger som innehåller JAR filer och classer som kan behövas till javas run time environment, alltså JRE. Klicka här för att läsa mer om CLASSPATH.

$JAVA_HOME
Detta variabelnamn för en environmnet variabel brukar användas för att ange den sökväg till den katalog som innehåller viktiga javafiler och kataloger. Klicka här för att läsa mer om JAVA_HOME.

Att använda och underhålla sina Environment variabler

env
Kommando för att se alla sina environment variabler, kommandot skriver du i din terminal. Environment variabler är en typ av shell variables, det som gör dem lite mer speciella och särskiljande från vanliga skalvariabler är att dessa environmentvariabler även är synliga / åtkomstbara / tillgängliga för program/processer som man startar via sitt skal. Alltså om du startar ett program så kan det programmet se vad som finns i dessa environment variables och använda sig av dem. Mycket riktigt som man kanske kan förvänta sig så använder sig många program och verktyg/tools som man startar via sin terminal i sitt skal environment variabler för sin egen konfigurations skull. Så för att få en del program att bete sig som man vill att de skall göra så måste man alltså ibland filppla, lägga till och ändra dessa miljövariabler och deras innehåll. Vanligtvis brukar namnet på environment variables bestå av endast stora bokstäver.

set
Commando för att se alla skalvariabler och environment variabler. Environmentvariabler är alltså en “speciell typ” av shellvariables / skalvariabler, utöver environmentvariabler finns det alltså även så kallade “vanliga skalvariabler”. Kommandot set är ett bra sätt att få se även dessa variabler och vad de innehåller för information.

Kontrollera enskild variables innehåll

echo $VARIABEL – Kommando för att se innehållet i en speciell environment varibabel. För att t.ex. se vad variabeln PATH innehåller kan man alltså skriva kommandot: "echo $PATH" I mitt fall skrivs det ut: /bin:/sbin:/usr/bin:/usr/sbin som alltså då innebär att när jag vill exekvera ett program eller köra ett program eller hur man nu vill benämna det så kommer OSX att leta i dessa kataloger efter just det kommandot som representerar det program jag vill köra. Tex om jag använda mig av kommandot pwd så letar den igenom sökvägarna till de kataloger som finns angivna i PATH efter kommandot pwd. Pwd återfinns då i mitt fall i katalogen ..bin/pwd. Ett annat tips för att själv ta reda på var saker befinner sig är att använda sig av kommandot whereis, så om du vill ha reda på var pwd befinner sig skriver du “whereis pwd”, och jag får som svar, helt otippat ..bin/pwd

Att ändra Environment Variables

Ibland vill man alltså göra förändringar i vairabler eller lägga till nya environment / skalvariabler. När man vill göra detta så kan nedan kommandon vara bra att ha till hands. Observera att dessa ändringar inte varar för evigt och stänger du av din dator eller loggar ut så försvinner dina ändringar och du måste göra dem på nytt efter det att loggat in/ startat datorn igen. <länk kommer> Klicka här för att läsa ett inlägg om hur du gör ändringar i variabler så att de finns kvar hela tiden. </länk kommer>

export
Kommando för att ändra i environmentvariabls. För att ändra eller rättare sagt lägga till ytterligare information till en environmentvariable gör man så här:

Att lägga till en sökväg till variabeln PATH efter nuvarande PATH genom att utgöra dessa kommandon:
1) PATH=$PATH:/data/myBin
2) export PATH

Att lägga till sökväg till PATH före nuvarande PATH genom att utgöra dessa kommandon:
1) PATH=/data/myBin:$PATH
2) export PATH

Som sagt ovan, om du vill göra "permanenta" ändringar som inte bara gäller för just detta inlogg så krävs det att du gör lita andra ändringar i din datormiljö. <länk kommer> Klicka här för att läsa ett inlägg om hur du gör ändringar i variabler så att de finns kvar hela tiden. </länk kommer>

Hitta rätt med sitemap över macblog.se

AdaptiveThemes