I'll call out another book for being a great piece of technical writing: Unix Shell Programming[0]. It similarly follows the structure of introduction, complete description (if not full-depth out of necessity), intermediate, and advanced techniques, and some reference material.
The running example throughout the book is to build an address book program called "rolo" (Rolodex, get it?), and the authors do a nice job of progressively building the features while illustrating useful techniques that are generally applicable.
I've not read the 3rd edition, but I can vouch for the fact that the 2nd would be getting a little dated by now. Still, it's well-written, well-structured, and a great introduction to most of the shell concepts that you use.
The running example throughout the book is to build an address book program called "rolo" (Rolodex, get it?), and the authors do a nice job of progressively building the features while illustrating useful techniques that are generally applicable.
I've not read the 3rd edition, but I can vouch for the fact that the 2nd would be getting a little dated by now. Still, it's well-written, well-structured, and a great introduction to most of the shell concepts that you use.
[0] https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan...