📖 Scenario: You are working on a Linux system and want to manage your PATH environment variable. The PATH variable tells the system where to look for executable programs. Sometimes you need to add a new directory to PATH so you can run your own scripts easily.
🎯 Goal: Learn how to view, add, and verify directories in the PATH variable using simple Linux commands.
📋 What You'll Learn
Use the echo command to display the current PATH variable.
Create a new directory path string to add to PATH.
Add the new directory to the existing PATH variable.
Print the updated PATH variable to confirm the change.
💡 Why This Matters
🌍 Real World
Managing the PATH variable helps you run your own scripts and programs easily without typing full paths.
💼 Career
System administrators and developers often need to modify PATH to customize their environment and improve productivity.
Progress0 / 4 steps
1
View the current PATH variable
Use the echo command to display the current value of the PATH environment variable by typing echo $PATH.
Linux CLI
Hint
Type echo $PATH to see the directories where your system looks for programs.
2
Create a new directory path to add
Create a variable called new_dir and set it to the string /home/user/scripts which represents the directory you want to add to PATH.
Linux CLI
Hint
Use new_dir=/home/user/scripts to store the new directory path.
3
Add the new directory to the PATH variable
Update the PATH variable by adding the new_dir at the end. Use the command PATH=$PATH:$new_dir to do this.
Linux CLI
Hint
Use PATH=$PATH:$new_dir to append the new directory to PATH.
4
Print the updated PATH variable
Use echo $PATH again to print the updated PATH variable and confirm that /home/user/scripts has been added.
Linux CLI
Hint
Type echo $PATH to see the new directory added at the end.
Practice
(1/5)
1. What does the PATH environment variable do in Linux?
easy
A. It lists folders where the system looks for commands to run.
B. It stores the current user's password.
C. It shows the current directory path.
D. It controls the screen brightness settings.
Solution
Step 1: Understand the role of PATH
The PATH variable contains directories where the system searches for executable commands.
Step 2: Match the description to the options
Only It lists folders where the system looks for commands to run. correctly describes PATH as a list of folders for commands.
Final Answer:
It lists folders where the system looks for commands to run. -> Option A
Quick Check:
PATH = command search folders [OK]
Hint: PATH is where your system finds commands to run [OK]
Common Mistakes:
Confusing PATH with current directory
Thinking PATH stores passwords
Assuming PATH controls hardware settings
2. Which of the following is the correct syntax to add /home/user/bin at the start of your PATH variable in a bash shell?
easy
A. set PATH=/home/user/bin:$PATH
B. export PATH=$PATH:/home/user/bin
C. export PATH=/home/user/bin:$PATH
D. PATH=/home/user/bin:$PATH export
Solution
Step 1: Recall how to prepend a folder to PATH
To add a folder at the start, use export PATH=folder:$PATH.
Step 2: Check each option's syntax
export PATH=/home/user/bin:$PATH correctly uses export PATH=/home/user/bin:$PATH. export PATH=$PATH:/home/user/bin appends instead of prepends. set PATH=/home/user/bin:$PATH uses wrong command 'set'. PATH=/home/user/bin:$PATH export has wrong order.
Final Answer:
export PATH=/home/user/bin:$PATH -> Option C
Quick Check:
Prepend folder with export PATH=folder:$PATH [OK]
Hint: Use export PATH=folder:$PATH to add at start [OK]
Common Mistakes:
Appending instead of prepending
Using 'set' instead of 'export'
Incorrect command order
3. Given the commands run in order: export PATH=/usr/local/bin:$PATH export PATH=$PATH:/home/user/scripts What is the resulting PATH if the original PATH was /usr/bin:/bin?
medium
A. /usr/local/bin:/home/user/scripts:/usr/bin:/bin
B. /home/user/scripts:/usr/local/bin:/usr/bin:/bin
C. /usr/bin:/bin:/usr/local/bin:/home/user/scripts
D. /usr/local/bin:/usr/bin:/bin:/home/user/scripts
Solution
Step 1: Apply first export command
Original PATH: /usr/bin:/bin After export PATH=/usr/local/bin:$PATH, PATH becomes /usr/local/bin:/usr/bin:/bin.
Step 2: Apply second export command
Now export PATH=$PATH:/home/user/scripts appends /home/user/scripts. Final PATH: /usr/local/bin:/usr/bin:/bin:/home/user/scripts.
Final Answer:
/usr/local/bin:/usr/bin:/bin:/home/user/scripts -> Option D
Quick Check:
Prepend then append folder to PATH [OK]
Hint: Apply exports in order, watch prepend vs append [OK]
Common Mistakes:
Mixing order of folders
Forgetting original PATH
Confusing prepend and append
4. You want to add /opt/tools to your PATH, but after running export PATH=$PATH:/opt/tools, your scripts in /opt/tools still don't run. What is the likely problem?
medium
A. You forgot to reload the shell or source the profile
B. /opt/tools is not executable
C. You should prepend, not append, the folder
D. PATH variable cannot be changed
Solution
Step 1: Understand PATH changes need shell reload
Changing PATH in a shell session affects only that session. To use changes in new sessions, reload or source profile.
Step 2: Check other options
/opt/tools being non-executable is unlikely for a folder. Prepend vs append doesn't prevent running scripts if PATH is correct. PATH can be changed.
Final Answer:
You forgot to reload the shell or source the profile -> Option A
Quick Check:
Reload shell to apply PATH changes [OK]
Hint: Reload shell or source profile after PATH change [OK]
Common Mistakes:
Not reloading shell after export
Confusing folder permissions with executables
Thinking PATH is immutable
5. You want to add /custom/bin to your PATH only for your current terminal session without affecting others. Which command should you use?
hard
A. set PATH=/custom/bin:$PATH
B. export PATH=/custom/bin:$PATH
C. sudo export PATH=/custom/bin:$PATH
D. echo '/custom/bin' >> ~/.bashrc
Solution
Step 1: Identify session-only PATH change
Using export PATH=/custom/bin:$PATH changes PATH only in current shell session.
Step 2: Evaluate other options
echo '/custom/bin' >> ~/.bashrc appends to .bashrc, affecting future sessions, not current only. sudo export PATH=/custom/bin:$PATH uses sudo unnecessarily and is invalid syntax. set PATH=/custom/bin:$PATH uses wrong command 'set'.
Final Answer:
export PATH=/custom/bin:$PATH -> Option B
Quick Check:
Use export for session-only PATH change [OK]
Hint: Use export to change PATH only in current session [OK]
Common Mistakes:
Editing .bashrc for immediate effect
Using sudo with export
Using wrong commands like set
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.