The goal of the book is to let you discover a thing or two about the Bash and Linux/Unix command line by solving challenges. Most of the challenges take the form of a couple of commands typed in an interactive Bash shell, but that do not produce the expected result. Your mission, should you choose to accept it, is to understand why the initial solution didn’t work, and most important, how to fix it in order to obtain the expected result. Each challenge is specifically crafted to illustrate a Bash feature or some subtle pitfall in a way you won’t find in textbooks.
The book is designed for those who like to learn by doing. We assume you are aware of the basic fundamentals of the Bash scripting. But you don’t have to be a command line ninja to take up these challenges. The challenges are divided into three levels, so you’ll be able to jump straight to the challenges that will match the best with your background and capabilities.
This is not a quiz book: while taking the challenges, you should refer to the man page of the commands or Google for their usage. There is no restriction on that. On the contrary. And if we provide a solution to each Bash exercise here, there can be in fact more than one ways to solve the same problem. So you are encouraged to show your creativity by finding your own solution to the challenges!