https://www.oreilly.com/library/view/learning-the-bash/0596009658/
https://www.oreilly.com/library/view/learning-the-bash/0596009658/