Shell Scripting: Expert Recipes for Linux, Bash, and more