roadmap.sh: Shell / Bash
A free visual roadmap of the shell and Bash scripting: commands, redirection and pipes, variables, conditionals, loops, functions, text processing and the habits that make scripts reliable. A good way to see what lies beyond typing basic commands.
Roadmap
Other
roadmap.sh
Self paced
All
Free
What it is
The Shell / Bash roadmap on roadmap.sh is an interactive map of what it means to be fluent in the command line and in Bash scripting. It covers the everyday shell (navigation, files, pipes, redirection and job control), then the scripting language itself: variables, quoting, conditionals, loops, functions, arrays, exit codes and error handling, along with the text-processing tools scripts rely on. Each node links to a short explanation and further reading, and the page includes project ideas to practise on.
Who it is for
Anyone who already uses a terminal and wants to go from copying commands to understanding them, and from one-off commands to small scripts that save time. It suits students, backend and DevOps learners, and developers on any operating system, since Bash runs on Linux, in WSL on Windows and on macOS.
How to use it
Use it to decide what to learn next rather than as a strict order:
- Mark the parts you use confidently.
- Pick one scripting concept at a time, such as quoting or exit codes, and practise it on a real task you repeat every week.
- Run every script you write through ShellCheck; the warnings map neatly onto many nodes of this roadmap.
Is it worth it?
Yes, as a checklist and a reminder of how much there is to Bash beyond the basics. It is not a tutorial on its own: the explanations are brief. Pair it with a careful guide, such as Greg's BashGuide or the shell lectures of MIT's Missing Semester, and with daily practice.
Time needed
Reading the whole map takes under an hour. Becoming comfortable with the everyday shell takes a few weeks of daily use; writing small, safe scripts takes a few more weeks of practice.
Common questions
Should I learn zsh instead? Learn Bash for scripts, because servers and CI use it. You can use zsh interactively on a Mac; the everyday commands are nearly identical.
When should I switch from Bash to Python? When a script needs complex data structures, careful error handling or grows past about 100 lines.
Is it free? Yes, the roadmaps on roadmap.sh are free to use.
Ready to start?
Opens on roadmap.sh in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.