Shell Programming in Unix, Linux and OSX, 4th Ed
Shell Programming in Unix, Linux and OSX, 4th Ed

 Authors: Stephen G. Kochan & Patrick Wood 
Publisher: Addison-Wesley
Pages: 456 
ISBN: 978-0134496009
Print: 0134496000
Kindle: B01L480ILM
Audience: Beginners
Rating: 4
Reviewer: Mike James 

 

With even Windows offering a Linux shell, this is a good time to learn this language.

Unfortunately the Linux shell is very idosyncratic, and hence a difficult language to master. There are few general principles behind it and those that there are are difficult to notice and difficult to interpret. This book is reasonably good at pointing out some of the basic principles of how the Shell works, but it is also packed with a lot of detail that you could just as easily look up on the web.

The first chapter is more like a tutorial on command line Linux - using ls, cat, cp, mv and rm to work with files and mkdir and rmdir to work with directories.  It also covers pipes, filters and the standard I/O channels.  All of this is useful even without Shell programming and it represents what the average Linux users should already know.

The second chapter introduces the Shell proper and if you already know basic command line Linux this is the place to start. In this chapter we learn what the Shell is and basic ideas such as variables and wild characters are introduced. All fairly easy, which can't be said for the next chapter which deals with regular expressions. This subject is difficult and probably best left till later in the book.

  

 

Chapter 4 goes over variables and expressions in detail. Chapter 5 is all about the use of different types of quote marks and the general complexities of strings in the Shell. Chapter 6 deals with the strange ways of passing parameters to Shell scripts and uses an example of a phone book program. This is interesting but I would urge anyone considering writing this sort of thing not to use the Shell but a proper programming language. 

Next we look at the way that you can use conditionals in Chapter 7 and how to implement loops in Chapter 8. These are both big topics and difficult to master if you are a novice programmer. They are taken very slowly in this book and if you are already a programmer in another language you might do better with a faster-paced approach. 

Chapter 9 is about I/O and working with files. Chapter 10 is about environment variables and some more on the general Shell environment. Chapters 11 and 12 deal with some advanced topics, including more advanced ways of working with parameters and the eval command and functions. Chapter 13 is a case study, returning to the phone book program, and again I feel that it would be better written in another language. The final chapter gathers together some nonstandard shell features. 

Overall this is a slowish introduction to Shell programming that would suit the very nearly complete beginner. It does take you from the simplest of Linux commands to some quite complicated ideas. However, Shell scripts are mostly used for admin tasks and here the book is less helpful. Writing a script that implements a phone directory serves to show off some of the techniques, but it doesn't equip you to deal with modifying and checking access permissions, maintaining users, checking logs and so on. The problem is that learning Shell scripting is just the start of the problem that you are trying to solve. The first time you need to run a program every day at 12am you will have to tackle cron, which is not covered in the book. 

The final verdict has to be that this is quite a good general, but slow, introduction to Shell scripting and if you are going to graduate to doing really useful things with it you will need a follow-on book. If you program in any other language then you need a more advanced and faster -paced book to start with. 

Reviews of other books by Stephen Kochan from Addison-Wesley

Programming in Objective-C, 3rd Ed 

 Programming in C, 4th Ed

 

 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.

Banner


A Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA)

Author: Khalid A. Mughal, Rolf W Rasmussen
Publisher: Addison-Wesley 
Pages: 688
ISBN: 978-0132930215
Print: 0132930218
Kindle: B01ITNCBVK
Audience: Candidates for the OCA exam.
Rating: 4.5
Reviewer: Alex Armstrong

Java SE 8 is still important and there is room for more [ ... ]



SQL Queries For Mere Mortals, 3e

Authors: John Viescas and Michael J. Hernandez
Publisher: Addison Wesley, 2014
Pages: 760
ISBN: 9780321992475
Print: 0321992474
Kindle: B00KWA0TDQ
Aimed at: Anyone wanting to learn or improve SQL
Rating: 5
Reviewed by: Kay Ewbank

While it may sound as though it's aimed at people who don't know SQ [ ... ]


More Reviews

Last Updated ( Tuesday, 22 November 2016 )
 
 

   
Banner
Banner
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.