📖 Scenario: You are setting up a simple script environment on a Linux system. You need to create and use environment variables to store and display user information.
🎯 Goal: Learn how to create, configure, and display environment variables using Linux command line.
📋 What You'll Learn
Create an environment variable with a specific name and value
Create a secondary variable to hold a modified value
Use the main environment variable in a command
Display the value of the environment variable
💡 Why This Matters
🌍 Real World
Environment variables are used to store configuration settings and user information that scripts and programs can access easily.
💼 Career
Knowing how to manage environment variables is essential for system administrators, developers, and anyone working with Linux servers or automation scripts.
Progress0 / 4 steps
1
Create an environment variable
Create an environment variable called USER_NAME and set its value to alice using the export command.
Linux CLI
Hint
Use export VARIABLE_NAME=value to create environment variables.
2
Create a secondary environment variable
Create another environment variable called GREETING and set its value to Hello, $USER_NAME! using the export command.
Linux CLI
Hint
Use double quotes to include variables inside strings.
3
Use the environment variable in a command
Use the echo command to display the value of the GREETING environment variable.
Linux CLI
Hint
Use echo $VARIABLE_NAME to display the value of an environment variable.
4
Display the output
Run the script and ensure the output is exactly Hello, alice!.
Linux CLI
Hint
Make sure you run the commands in a shell that supports environment variables.
Practice
(1/5)
1. What is the purpose of environment variables in a Linux shell?
easy
A. To speed up the internet connection
B. To store settings that programs can use during execution
C. To permanently delete files from the system
D. To create new user accounts automatically
Solution
Step 1: Understand environment variables
Environment variables hold information like settings or preferences that programs can read while running.
Step 2: Identify the correct purpose
Among the options, only storing settings matches the role of environment variables.
Final Answer:
To store settings that programs can use during execution -> Option B
Quick Check:
Environment variables = store settings [OK]
Hint: Remember: environment variables hold settings, not files or users [OK]
Common Mistakes:
Confusing environment variables with file operations
Thinking environment variables control hardware
Assuming environment variables create users
2. Which command correctly sets an environment variable named MY_VAR with value hello for the current shell and its child processes?
easy
A. declare MY_VAR hello
B. set MY_VAR=hello
C. env MY_VAR hello
D. export MY_VAR=hello
Solution
Step 1: Recall how to set environment variables
In Linux shells, export is used to set environment variables for the current shell and its children.
Step 2: Check each command
set MY_VAR=hello is incorrect syntax; env MY_VAR hello does not set variable persistently; declare MY_VAR hello is invalid for environment variables.
Final Answer:
export MY_VAR=hello -> Option D
Quick Check:
Use export to set environment variables [OK]
Hint: Use 'export' to set environment variables for shell and children [OK]
Common Mistakes:
Using 'set' instead of 'export' to set environment variables
Trying to set variables without export, so children don't see them
Confusing 'env' command usage
3. Given the commands below, what will be the output of echo $GREETING?
First, GREETING is set to "Hello" and exported, making it available to child processes. Then GREETING is reassigned to "Hi" in the current shell.
Step 2: Determine the value echoed
The echo command prints the current value of GREETING, which is "Hi" after reassignment.
Final Answer:
Hi -> Option C
Quick Check:
Variable reassignment updates value = Hi [OK]
Hint: Last assignment before echo is the value printed [OK]
Common Mistakes:
Thinking export freezes the variable value
Expecting the first assigned value to print
Confusing export with immediate output
4. What is wrong with this script snippet if the goal is to set PATH to include /usr/local/bin?
PATH=$PATH:/usr/local/bin
export PATH
medium
A. Nothing is wrong; it correctly appends to PATH
B. It should use export PATH=$PATH:/usr/local/bin in one line
C. It overwrites PATH instead of appending
D. It should prepend /usr/local/bin before $PATH
Solution
Step 1: Analyze the PATH modification
The script appends :/usr/local/bin to the existing PATH variable, which is a common way to add directories.
Step 2: Check export usage
Exporting PATH after assignment makes the new value available to child processes. This is correct usage.
Final Answer:
Nothing is wrong; it correctly appends to PATH -> Option A
Quick Check:
Appending and exporting PATH is correct [OK]
Hint: Appending PATH then exporting is standard practice [OK]
Common Mistakes:
Thinking export must be on same line as assignment
Confusing append with overwrite
Assuming order of PATH parts always matters
5. You want to create a script that sets a temporary environment variable TEMP_VAR only for a single command execution, without affecting the shell's environment afterwards. Which command correctly does this?
hard
A. TEMP_VAR=value command
B. export TEMP_VAR=value; command
C. set TEMP_VAR=value command
D. command; export TEMP_VAR=value
Solution
Step 1: Understand temporary environment variables for one command
Setting a variable before a command like TEMP_VAR=value command runs the command with that variable set only for its execution.
Step 2: Evaluate each option
export TEMP_VAR=value; command exports variable globally; set TEMP_VAR=value command uses invalid syntax; command; export TEMP_VAR=value sets variable after command runs.
Final Answer:
TEMP_VAR=value command -> Option A
Quick Check:
Prefix variable before command for temporary env [OK]
Hint: Put variable before command to set it temporarily [OK]
Common Mistakes:
Using export which affects shell permanently
Trying to set variable after command runs
Using incorrect syntax like 'set' for env variables
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.