Wat zijn omgevingsvariabelen?
Omgevingsvariabelen bevatten waarden die gerelateerd zijn aan de huidige omgeving, zoals het besturingssysteem of gebruikerssessies.
Path
Een van de meest bekende heet PATH
op Windows, Linux en Mac OS X. Het specificeert de directories waarin uitvoerbare programma’s zich bevinden die op de machine kunnen worden gestart zonder het hele pad naar het bestand op de commandoregel te kennen en te typen. (Of in Windows, het Run dialoogvenster in het Startmenu of
+R). Op Linux en Mac OS X bevat het meestal alle bin
- en sbin
-directories die relevant zijn voor de huidige gebruiker. Op Windows bevat het tenminste de C:\Windows
en C:\Windows\system32
mappen - daarom kunt u run calc.exe
of notepad.exe
vanaf de commandoregel of Run dialoog, maar niet firefox.exe
. (Firefox bevindt zich in C:\Program Files\Mozilla Firefox
. Ga voor informatie over het opnemen van Firefox naar hier .)
Als u bijvoorbeeld calc
(de .exe
kan worden weggelaten) in de opdrachtregel van Windows typt, wordt de Windows-calculator opgestart.
* U kunt ondersteuning voor andere bestandsextensies dan .exe
toevoegen door %PATHEXT%
.
Andere
Andere variabelen kunnen programma’s vertellen wat voor soort terminal wordt gebruikt (TERM
op Linux/Mac OS X), of, op Windows, waar de Windows-map zich bevindt (bijv, %WINDIR%
is C:\Windows
).
Het creëren van nieuwe omgevingsvariabelen
In Windows, Linux en Unix is het mogelijk om nieuwe omgevingsvariabelen te creëren, waarvan de waarden dan beschikbaar worden gesteld aan alle programma’s bij de lancering.
Je kunt dit gebruiken bij het schrijven van scripts of programma’s die op meerdere machines geïnstalleerd of uitgerold zijn en moeten verwijzen naar waarden die specifiek zijn voor deze machines. Hoewel een soortgelijk effect kan worden bereikt met programmaspecifieke configuratie-instellingen, is het eenvoudiger om dit te doen met behulp van een omgevingsvariabele als meerdere programma’s dezelfde waarde moeten benaderen.
Windows
GUI
- Open
Control Panel » System » Advanced » Environment Variables
.
Typ control sysdm.cpl,,3
in het Run dialoogvenster (
+R) en klik op Environment Variables
.
Voor het bewerken van gebruikersvariabelen kunt u ook
3 typen. 3. Klik met de rechtermuisknop op (Mijn) Computer en klik op Eigenschappen, of druk gewoon op
+Break.
- Er zijn vele andere manieren om dezelfde plaats te bereiken, zoals door “omgevingsvariabelen” te typen in het Startmenu/Schermzoekvak, etc.
Omgevingsvariabelen in Windows zijn gescheiden in gebruikers- en machine/systeemspecifieke waarden. U kunt daar hun waarden bekijken en bewerken. Hun huidige waarden worden bij het opstarten beschikbaar gesteld aan alle programma’s.
Er is ook Rapid Environment Editor , die helpt bij het instellen en wijzigen van omgevingsvariabelen in Windows zonder dat u diep in de systeeminstellingen hoeft te gaan. Een ander open source programma voor Windows waarmee de padomgeving zeer eenvoudig kan worden bewerkt is Path Editor .
Command Line
Format
Omgevingsvariabelen in Windows worden aangeduid met procenttekens (%) rondom de naam:
%name%
echo
Om de waarde van een omgevingsvariabele weer te geven in cmd.exe
, type echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
set
Om een variabele te creëren/instellen, gebruik set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Om een variabele in te stellen/toevoegen, gebruik set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Op deze manier ingestelde omgevingsvariabelen zijn beschikbaar voor (de rest van) de duur van het Command Prompt proces waarin ze zijn ingesteld, en zijn beschikbaar voor processen die worden gestart nadat de variabelen zijn ingesteld.
setx
Om een variabele permanent te creëren/instellen, gebruik setx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
In tegenstelling tot set
is er geen gelijkteken en moet de waarde tussen aanhalingstekens worden geplaatst als deze spaties bevat. Merk op dat variabelen kunnen uitbreiden naar een string met spaties (bijv. %PATH%
wordt C:\Program Files
), dus het is het beste om aanhalingstekens op te nemen rond waarden die variabelen bevatten.
U moet setx
handmatig toevoegen aan versies van Windows eerder dan Vista. ## Lijst van Windows omgevingsvariabelen
Hier is een lijst van default-omgevingsvariabelen , die in Windows zijn ingebouwd. Enkele voorbeelden zijn:%WINDIR%
, %SystemRoot%
, %USERPROFILE%
en %APPDATA%
. Zoals de meeste namen in Windows zijn deze hoofdlettergevoelig.
Unix derivaten (FreeBSD, GNU / Linux, OS X)
Omgevingsvariabelen in Linux worden voorafgegaan door een dollarteken ($) zoals $HOME of $HOSTNAME. Veel bekende en standaard variabelen worden in hoofdletters gespeld om dat aan te geven. Houd in gedachten dat namen van variabelen hoofdlettergevoelig zijn, wat betekent dat $User en $USER vanuit het oogpunt van de commandoregel volledig ongerelateerd zijn.
Unix-derivaten definiëren systeembrede variabelen in commandoregel-scripts die zich meestal in de map /etc
bevinden, maar gebruikersspecifieke waarden kunnen aan die variabelen worden gegeven in scripts die zich in de homemap bevinden (bijv. /etc/profile
, $HOME/.bash_profile
). Het .profile
-bestand in de thuismap is een gebruikelijke plaats om gebruikersvariabelen te definiëren.
Setting variabelen
Deze bestanden zijn gewone shellscripts en kunnen meer dan alleen omgevingsvariabele declaraties bevatten. Om een omgevingsvariabele in te stellen, gebruik je export
. Om uw huidige gedefinieerde omgevingsvariabelen in een terminal te tonen, draait u env
.
Het export
commando is een standaard manier om variabelen te definiëren. De syntaxis is zeer intuïtief. Het resultaat is identiek voor deze twee regels, maar het eerste alternatief is te verkiezen in het geval portabiliteit nodig is boven pre-POSIX Bourne shell.
var=value; export var
export var=value
De C-shell en zijn nakomelingen gebruiken een compleet andere syntax; daar is het commando setenv
.
Zie het Linux documentatieproject, Path HOWTO voor een meer diepgaande discussie over dit onderwerp.
Misschien is OS X, in tegenstelling tot wat vaak wordt gedacht, meer “Unix” dan Linux. Naast de reeds genoemde bestanden kan $PATH in deze bestanden worden aangepast:
/etc/paths
bevat alle standaard mappen die aan het pad worden toegevoegd, zoals /bin
en /usr/sbin
.
- Elk bestand in
/etc/paths.d
- algemeen gebruikt door installateurs om de uitvoerbare bestanden die ze aanleveren beschikbaar te maken vanaf de commandoregel, zonder dat het systeembrede of gebruikersspecifieke configuratiebestanden aangeraakt hoeven te worden. Deze bestanden bevatten eenvoudigweg één pad per regel, bijv, /Programs/Mozilla/Calendar/bin.
Externe links:
Omgevingsvariabelen in XP
Windows XP Service Pack 2 Ondersteuningshulpmiddelen (inclusief setx
)
Omgevingsvariabelen in Windows Vista en Windows 7
Uitvoerbare bestanden toevoegen aan het dialoogvenster uitvoeren
Mac OSX Tips - Omgevingsvariabelen instellen
TLDP: Pad Howto