by Apress
| Average Rating: |
|
| Sales Rank: | 424267 (lower is better) |
| Price Used: | $20.00 |
| Shipping: | Free Shipping on most orders over $25* |
| Availability: | Usually ships in 24 hours |
| Label: | Apress |
| Pages: | 448 |
| Binding: | Paperback |
| Publication Date: | 2005-05-06 |
| Published By: | Apress |
| ASIN: | 1590594711 |
| Category: | Book |
Authors
Editorial Reviews and Product Descriptions
Product Description
This is the type of book that will either solve a specific problem you have or will give you ideas on automating/simplifying something that you've lived with for far too long.
— Thomas Duff, Duffbert's Random Musings
This book is geared towards any Unix user who doesn't want to spend time creating or testing shell scripts. Instead, Shell Scripting Recipes dissects and explains over 150 much-needed and practical real-world examples, and then shows the reader how and when to appropriately use them.
Because most scripts found in this book are POSIX (Portable Operating System Interface)-compliant, they are supported by many of the major shell variants, including Bash, ksh and sh, among others. File conversion, system administration, and resource monitoring are just a few of the topics covered in this highly practical shell scripting reference.
Customer Reviews
Unleash the power of the shell - Reviewed on 2005-11-27
11 customers found this review helpful.
While the Bourne shell is listed as a full fledged programming language, few people use it like that. Some of it is that they prefer more commonly acknowledged languages like Perl, Python or the like. However, with a book like Shell Scripting Recipes: A Problem-Solution Approach, they'll want to thin twice about it.
I remember my first forays into shell scripting. I didn't want to learn Perl (then the clearly dominant scripting language), and worked hard to learn shell, awk, and sed so that I could do the things I needed to do and automate as much as possible. It paid off, and even impressed a few die hard Perl fans. Less code to do simple tasks, faster to write, and always present. While I don't do nearly as much shell scripting as I used to, I still enjoy seeing someone do neat things in /bin/sh, ksh, or bash.
Chris Johnson's book is in the traditional line of a reference book, much like the O'Reilly cookbook series or, more accurately, the old tome, UNIX Power Tools. It's got a couple of non-recipe chapters, and the rest of it is a lot of fun, useful shell scripting.
Chapter 1 is an invaluable reference to large portions of the POSIX shell language. Johnson covers things like built in commands and program flow, special variables, and variable expansion. He also clearly covers the differences between the Bourne shell and the POSIX shell where they differ. If you're worried, using Bash will almost always work with the examples, I think.
At this point it's easy to think, "I can call out to external commands for a good chunk of the functions he develops." You can, but Johnson makes a compelling argument that shows the impact of a fraction of a second can add up quickly in loops. At this point, you're either agreeing with him and seeing the joy of a direct language like shell or you soon will.
Chapter 20 is a small set of recipes but they serve a different function, namely helping you manage all of these new shell scripts and functions. You can copy, instantiate new shell scripts more easily (by automating the redundant bits), or package them up with simple scripts. Handy tools, and a decent approach.
The recipes run the gamut from the simple to the uncommon, but they all illustrate how do accomplish useful tasks in a shell script. They include file conversion (DOS, UNIX, and Mac), string handling bits, filename management, complex date calculations, screen control capabilities, and even HTML processing. Some of my favorite recipes include the Postscript generation tools (!) and the database management tools. While some people have done these in shell scripts, I've usually seen them done using sloppy or confusing approaches. Johnson's code is clear, direct, and applicable.
That's probably the biggest strength to the book, Johnson's clear writing and examples. Some programming and scripting books try and show you neat tools to accomplish a task, but they don't do a good job of showing you how to translate it to your specific task. In Shell Scripting Recipes, Johnson chooses his code carefully, articulates how it works, and continually builds on a theme. If you pick a few scripts and study them, you'll see tips and tools you can use in your own shell scripts. He also has nicely abstracted scripts that let you recycle his functions in your own scripts with ease.
Overall I quite like Shell Scripting Recipes, I think that while it's easy to think less of the Bourne shell as a language, Johnson has done a good job of writing a concise set of examples, usable code, and in a format that is continually useful and clear. If you've been thinking about improving your shell prowess, this is the book for you.
My Shell is a Programming Language? - Reviewed on 2005-10-04
8 customers found this review helpful.
This book was kind of an epiphany for me. I've been writing shell scripts for nearly as long as I've been writing programs, but I've always drawn a mental distinction between the two. There was programming, and then there was scripting.
After coding in languages like Perl and then Ruby, the distinction has become increasingly blurred. Many of my "scripts" have proven far, far more useful than anything I've written in a "proper" programming language! They back up my servers, they keep me informed of problems, they've saved me a minute here, a minute there, for perhaps ten years now! So what, really, is the distinction?
I think, to some extent, a shell script is ultimately just limited by a lack of any libraries of code. It lends itself well to simple tasks, but if you do anything even moderately complex, you have to stop and switch to Perl or Ruby. But now Mr. Johnson has written a book that more or less creates a library in your shell script. And the tasks he writes about are so incredibly common, and his recipes so well organized, that you can just flip to a chapter like "Backing Up the Drive" or "Good Housekeeping," and find a dozen solutions to questions you're guaranteed to run into when writing your shell scripts. This book also does an excellent job of showing examples that rely on as few external programs as possible - making them perfectly portable.
This is the most useful book on shell scripting out there, and I wish I could have picked it up ten years ago. If I had, it would still be on my shelf today.
Great resource for Bourne-type shell scripting - Reviewed on 2005-06-25
4 customers found this review helpful.
If you are using a Bourne-type shell, and BASH in particular then you will find a lot of valuable information in this book. Author Chris F. A. Johnson provides an extensive education on scripting including scripts for viewing, editing, and manipulating files, manipulating strings, altering the path variable, monitoring the file system, filtering spam, backing up, archiving, deleting, and many other common tasks. How far can you go with a shell script? He even gives a working example of a database application written completely in script. On the other hand if you just want to have some fun there are even scripts for creating anagrams, fitting words into a crossword, or finding words that contain a given set of characters.
While the book is really written for the technically oriented reader, even the very basics that most users should already know are still covered. The format is more typical of what computer technicians want - this is the item to be discussed, this is how it works, this is an example, move on to the next one. When I am looking for answers this is the format I prefer and I found this book extremely useful. It will be on my bookshelf as one of the first to grab when I want to do scripting in Linux. Advanced and powerful, a real resource for the power user of the Bourne shell, Shell Scripting Recipes is highly recommended.
* - See Amazon
Product Page for shipping and pricing details.
Book Subjects
- High level programming languages
- Java & variants
- Programming languages
- Operating systems (Computers)
- POSIX (Computer software standard)
- Computers
- Computers - Languages / Programming
- Computer Books: Languages
- Computers / Programming / General
- Computers / Programming / Software Development
- Computers-Programming Languages - CGI, Javascript, Perl, VBScript
- Programming - General
- Programming Languages - CGI, Javascript, Perl, VBScript
- Programming Languages - Java
- Computing: Professional & Programming