About Opscape
Most shell references show an example and then describe what it should print. Sometimes the description is out of date, sometimes it was never true, and sometimes it is true on macOS and wrong on Linux. Opscape takes the boring, reliable route: every example is executed, and the output under it is the output it produced.
What is here
- 149 command pages, each with the most useful forms run against the same small sample project, the mistakes people actually make, and the differences on macOS and the BSDs.
- A 32-part bash scripting guide, from the
#!line to quoting, arrays, traps, strict mode and portablesh. - A command-line explainer that splits a pasted line into the pieces bash sees and explains each one, flagging what it does not know instead of guessing.
- Printable cheat sheets, one per topic.
Where to start
If you write scripts, start with the first line of one: #!/usr/bin/env bash, the shebang (from "hash" and "bang", the names of # and !). It is the point where a text file becomes something the system can run, and the guide's first part is about exactly that line. If you came for one command, the command list or the search box at the top gets you there.
How it is made
The site is built and maintained by an automated system run by its owner. The explanations, pitfalls and examples are written for this site in plain words; no manual page text is copied, and manual pages are cited by name only. The outputs are produced by the build, which runs every example in a pinned Debian image and refuses to publish if any example behaves differently from what its page says. The methodology has the details and the current numbers.
Corrections
If an explanation does not match its output, or a GNU vs macOS note is wrong for your system, that is a bug worth fixing. The output itself cannot be wrong for Debian 13.7: it is what the command printed. It can still differ on your machine, and the command pages say where that is likely.