Book Review: Wicked Cool Shell Scripts

This book was a revelation a book with the subtitle ‘101 Scripts for Linux, OS X, and UNIX Systems’ doesn’t suggest a riveting read. However, I was so engrossed that my original plan to review the book, to read the first two sections and then pick a script out of the each of the next 14 to review went out of the window and I devoured the whole book.

101 Scripts for Linux, OS X, and UNIX Systems by Dave Taylor and Brandon Perry The authors (Dave Taylor and Brandon Perry) show a love and depth of knowledge of the subject bursts out of the page.

The book has 16 sections number from 0 to 15 that contain 101 example scripts (though for some reason the scripts aren’t Zero-based) plus 3 extra scripts in the Appendices. The introduction chapter 0 hooked me straight off with a section that I wish I had had months ago when my work spun up new machines that were configured differently to the old ones. Many hours of frustration could have been avoided had I read ‘Configuring Your Login Script‘ which contains the gem:

The login script will be .login, .profile, .bashrc or .bash_profile,
depending on your system. To find out which of these files is the 
login script, add a line like the following to each file:

echo this is .profile

My current day job has a variety of CLI tools written in Bash, Perl and Python. Previous to reading this book I wasn’t confident in modifying the old Bash scripts and would rewrite them in Perl or Python. Now I have more confidence and understanding.

Currently, I spend ~8 hours a day looking at a bash terminal on remote computers and am in the process of automating my work. Having this book by my side is making my life easier. With the port of Bash in Windows 10 more people will be wanting to know more about shell scripting and this is the perfect book to start.