Planethäftet, © F. Kilander, DSV, 1992--1996.
[Top]

Skal- och omgivningsvariabler


UNIX-skal (kommandotolkarna Korn-shell, C-shell m fl) upprätthåller två kategorier av variabler: skalvariabler och omgivningsvariabler. Variablerna används till att hålla information som varierar mellan olika användare och som kan ändras mellan olika sessioner. Skalvariablerna (shell variables) påverkar UNIX-skalets (kommandotolken i ett terminalfönster) inre operationer. Variablerna är individuella för varje skal och andra program kan inte komma åt deras värde.

Omgivningsvariabler (environment variables) är variabler som är tillgängliga för andra program. De används för att hålla grundparametrar som t ex vilken skrivare som vanligen skall användas ($PRINTER) eller information om terminalen ($TERMCAP). Ett annat namn för omgivningsvariabler är miljövariabler.

Många av variablerna sätts automatiskt, antingen av skalet självt eller av användarens kommandofiler vid inloggning. Det går att ändra variablernas värden med kommandon. För att se en variabels värde kan man använda echo. Prova t ex echo $PRINTER eller echo $HOME. För att se alla variablers värden ger man kommandot set. I Korn-shellvisas då både skal- och omgivningsvariabler. I C-shell visas endast skalvariablerna; kommandot setenv i C-shell visar omgivningsvariablerna.

För att sätta en variabel i Korn-shell skriv variabel=värde Om variabeln i fortsättningen skall vara en omgivningsvariabel skriv export variabel=värde eller bara export variabel om variabeln redan har ett värde.

Syntaxen för skalvariabler i C-shell är densamma som för Korn-shell, men C-shell har inte något export-kommando. Istället skriver man setenv variabel värde.