Greg's Wiki: BashGuide
A careful, accurate guide to Bash maintained by experienced members of the #bash community. It teaches commands, quoting, parameters, patterns, tests, arrays, input and output, compound commands and good practice, and is known for steering learners away from the bad habits common in older tutorials.
Guide
Other
Greg's Wiki (Wooledge)
A few weeks at a steady pace
Beginner
Free
What it is
The BashGuide is a free guide to Bash hosted on Greg's Wiki (mywiki.wooledge.org), written mainly by Lhunath and GreyCat and connected to the #bash channel on Libera Chat. It is organised into sections on commands and arguments, special characters, parameters, patterns, tests and conditionals, arrays, input and output, compound commands, sourcing, and job control and practices. The same wiki hosts the well-known Bash FAQ and the "Bash Pitfalls" page.
Why it stands out
Many Bash tutorials online teach habits that cause bugs: unquoted variables, parsing the output of ls, looping over $(cat file) and ignoring errors. The BashGuide is deliberate about teaching the correct way from the start, and explains why. Its emphasis on quoting, word splitting and exit statuses is exactly what makes scripts safe on real file names and real data. It also encourages you to read man pages and experiment, which builds lasting skill.
Who it is for
Anyone moving from typing commands to writing scripts. It suits beginners who are willing to read carefully, and it is just as valuable to people who have written Bash for years by copying snippets and want to understand what they are doing.
How to use it
- Read a section, then write a small script that uses it.
- Run each script through ShellCheck and compare the warnings with what the guide says.
- Read "Bash Pitfalls" once you have covered quoting and tests; it is a list of the mistakes most scripts make.
- Use the Bash FAQ as a reference for specific problems, such as reading a file line by line.
Things to know
The site is a wiki with a plain design, and some pages are dense. The guide itself notes that it is offered without any warranty and invites corrections. It focuses on Bash; if your scripts must run on minimal sh, some features will not apply.
Time needed
Reading the whole guide carefully, with practice, takes a few weeks of part-time study. The first few sections are enough to write much better scripts.
Common questions
Is it up to date? Bash changes slowly, and the core advice has stayed valid for years.
Is it free? Yes, completely.
Ready to start?
Opens on Greg's Wiki (Wooledge) 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.