Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 992941 of system/environment

  • Revision slug: Mozilla/Add-ons/SDK/Low-Level_APIs/system_environment
  • Revision title: system/environment
  • Revision id: 992941
  • Created:
  • Creator: wbamberg
  • Is current revision? Yes
  • Comment

Revision Content

{{AddonSidebar}}

Stable

Access, set and clear environment variables.

Usage

var { env } = require('sdk/system/environment');

You can get the value of an environment variable, by accessing the property with the name of the desired variable:

var PATH = env.PATH;

You can check for the existence of an environment variable by checking whether a property with that variable name exists:

console.log('PATH' in env); // true
console.log('FOO' in env);  // false

You can set the value of an environment variable by setting the property:

env.FOO = 'foo';
env.PATH += ':/my/path/'

You can unset an environment variable by deleting the property:

delete env.FOO;

Limitations

There is no way to enumerate existing environment variables, also env won't have any enumerable properties:

console.log(Object.keys(env)); // []

Environment variable will be unset, show up as non-existing if it's set to null, undefined or ''.

env.FOO = null;
console.log('FOO' in env);  // false
env.BAR = '';
console.log(env.BAR);       // undefined

Revision Source

{{AddonSidebar}}

<div class="note">
<p>Stable</p>
</div>

<p><span class="seoSummary">Access, set and clear environment variables.</span></p>

<h2 id="Usage">Usage</h2>

<pre class="brush: js">
var { env } = require('sdk/system/environment');</pre>

<p>You can get the value of an environment variable, by accessing the property with the name of the desired variable:</p>

<pre class="brush: js">
var PATH = env.PATH;</pre>

<p>You can check for the existence of an environment variable by checking whether a property with that variable name exists:</p>

<pre class="brush: js">
console.log('PATH' in env); // true
console.log('FOO' in env);  // false</pre>

<p>You can set the value of an environment variable by setting the property:</p>

<pre class="brush: js">
env.FOO = 'foo';
env.PATH += ':/my/path/'</pre>

<p>You can unset an environment variable by deleting the property:</p>

<pre class="brush: js">
delete env.FOO;</pre>

<h3 id="Limitations">Limitations</h3>

<p>There is no way to enumerate existing environment variables, also <code>env</code> won't have any enumerable properties:</p>

<pre class="brush: js">
console.log(Object.keys(env)); // []</pre>

<p>Environment variable will be unset, show up as non-existing if it's set to <code>null</code>, <code>undefined</code> or <code>''</code>.</p>

<pre class="brush: js">
env.FOO = null;
console.log('FOO' in env);  // false
env.BAR = '';
console.log(env.BAR);       // undefined</pre>
Revert to this revision