This beginner course explains how the shell stores session settings, finds commands, shares variables with child processes, and loads persistent configuration. Through five guided labs and a final environment-setup challenge, you will inspect existing values, create and export your own, compare Zsh and Bash startup files, and use command substitution.
The course distinguishes temporary shell state from settings loaded at startup. The final task turns that distinction into a practical Zsh shortcut by persisting a project-directory variable and an alias, then reloading and testing the configuration.
What You Will Learn
- Inspect common environment variables and list the current environment with
env - Explain how colon-separated
PATHentries guide command lookup - Locate executables with
whichand run a local script explicitly with./ - Create, expand, and export a custom shell variable to a child Bash process
- Add and reload persistent settings in
~/.zshrc - Compare Zsh and Bash configuration by adding a corresponding setting to
~/.bashrc - Embed formatted command output with
$()to create a date-named directory - Persist and verify a
PROJECT_DIRvariable andgoto_projnavigation alias
Who This Course Is For
This course is for Linux beginners who are comfortable entering commands and working with files, and who want to understand how shell sessions and personal startup settings work.
Prerequisites: Basic terminal navigation and file editing; no prior shell scripting experience is required.
Learning environment: A provided LabEx Linux terminal with Zsh as the default shell, Bash available for comparison, editable personal startup files, and a prepared local script and project workspace.
Frequently Asked Questions
Is the course guided, or do I need to solve everything independently?
The first five labs provide guided practice. The sixth is a final challenge in which you edit ~/.zshrc, reload it, and test a project-navigation shortcut using what you learned.
Will I modify the PATH variable in this course?
No. You inspect PATH, see how it controls command lookup, use which to locate programs, and learn why a local script is run with ./, but you do not change PATH.
Which shell startup files will I work with?
The guided practice uses both ~/.zshrc and ~/.bashrc so you can compare shell-specific settings. The final challenge persists its variable and alias only in the Zsh configuration.
Will I write a standalone shell script?
No. You run a prepared hello.sh file and edit shell startup configuration, but writing a script from scratch is outside this course's scope.





