Paperback: 288 pages
Publisher: Prentice Hall; 1 edition (October 29, 1995)
Product Dimensions: 6.9 x 0.7 x 9 inches
Shipping Weight: 1.2 pounds (View shipping rates and policies)
Average Customer Review: 4.7 out of 5 stars See all reviews (30 customer reviews)
Best Sellers Rank: #1,383,003 in Books (See Top 100 in Books) #47 in Books > Computers & Technology > Operating Systems > Unix > Shell #1436 in Books > Textbooks > Computer Science > Operating Systems #4544 in Books > Textbooks > Computer Science > Programming Languages
The author starts off with the assumption that the reader is technically savvy but has no knowledge of shell scripting. This means that the first chapter necessarily covers basicsyntax such as creating a script file, comments, file name expansion, quotes, control structures, pipes, etc. I found this chapter extremely useful for reviewing the basic building blocks that all shell scripts tend to share. This will be a valuable chapter for someone brand new to shell scripting or Unix-style operating systems. The 4 pages covering quoting was the most lucid coverage I have yet found.Variable are covered comprehensively in Chapter 2. This chapter covers all the ways of declaring, initializing, assigning and passing variables. It also covers the Borne shell special variables, such as $?, $$, etc. I learned some new techniques for handling uninitialized variables using special Borne shell syntax, such as "$". This statement causes the script to print out the "message" and then terminate if the "variable" is not initialized.The author next covers shell functions and built-in commands available in Borne shell. The 3 pages on shell functions is adequate to illustrate function syntax. The author also does an adequate job of examining function parameters, variables in functions, strategies for reusing functions and the different effects from executing a function in the current shell versus a subshell. The rest of the book shows numerous examples of functions, so the lackof function examples here is acceptable. Next the author introduces the important built-incommands such as : (null), . (dot), eval, exec, read, test, wait, and many others. All of the non-obvious commands have an example or two.