Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

system
operating system
communitycreator

What is an environment variable?

Anjana Shankar

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Overview

Environment variables are variables that are defined in the system environment. They are a great way to have environment-based configurations passed into our application.

Syntax

To get the value of an environment variable on Linux/Unix systems, we can do the following:

echo $PATH

Each process has its own set of environment variables. A child process inherits a copy of the parent’s environment.

Example

echo $PWD
export PWD="/Educative"
echo $PWD
Setting an environment variable

Following are some common environment variables:

  • $PATH
  • $HOME
  • $PWD

Most modern-day programming languages allow us to access the environment they are running in. They make it easy to keep the configuration and application loosely coupled. We can make changes to the execution environment without any code changes.

For example, we can set the dev environment variable to be different from the test environment. The test environment could be different from our prod environment.

We want the application running on the dev environment to connect with the dev database, test environment with the test database, and prod environment with the prod database.

Let’s look at how we can set up dev environment:

export DB="dev.db.com"
echo $DB
dev environment

Let’s look at how we can set up a test environment:

export DB="test.db.com"
echo $DB
test environment

Let’s look at how we can set up a prod environment:

export DB="prod.db.com"
echo $DB
prod environment

RELATED TAGS

system
operating system
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring